Соедините MS SQL Server и PostgreSQL, используя стороннюю оболочку данных - PullRequest
0 голосов
/ 01 октября 2018

Я использовал tds_fdw между MS SQL Server и PostgreSQL.

Я создал сторонний сервер и сторонние таблицы в PostgreSql.Когда я выбираю данные из внешней таблицы, он также запускает Mssql?Или хранилище данных в PostgreSQL?

1 Ответ

0 голосов
/ 01 октября 2018

Оболочка сторонних данных - это только другой способ запроса удаленных данных.Если вы создаете внешнюю таблицу, любой SELECT, который обращается к этой таблице, перенаправляется на внешний сервер (в вашем случае, SQL Server).

Таким образом, данные только хранятся в SQL Server.

Когда вы выбираете из внешней таблицы, оболочка для внешних данных отправит инструкцию SELECT на SQL Server.Затем SQL Server обработает запрос и отправит данные обратно на сервер Postgres.Оболочка сторонних данных затем передает данные обратно в ваше приложение (которое подключено к вашему серверу Postgres).Некоторые операции могут быть «перенесены» на внешний сервер FDW, так что Postgres не нужно их обрабатывать.Я не знаю деталей реализации tds_fdw, но такие вещи, как предложение WHERE, обычно передаются на удаленный сервер, так что только соответствующие данные обрабатываются на стороне Postgres.

С точки зрения MS SQL Server, FDW - это просто еще один клиент, отправляющий SQL-запросы.

Пока MS SQL Server обрабатывает запрос, Postgres (или, точнее, серверная часть, созданная для вашего соединения с Postgres) простаивает (ничего не делает) и ожидает завершения обработки MS SQL Server.

...