DBLINK против Postgres_FDW, что может обеспечить лучшую производительность?

У меня есть сценарий использования для распределения данных по многим базам данных на многих серверах, все в таблицах postgres. С любого данного сервера / БД мне может потребоваться запросить другой сервер / БД. Запросы являются довольно простыми, стандартные выборки с предложениями where на стандартных полях.

В настоящее время я реализовал postgres_FDW (я использую postgres 9.5), но я думаю, что запросы не используют индексы на удаленной базе данных. Для этого варианта использования (случайный узел может запрашивать N других узлов), что, вероятно, является моим лучшим выбором производительности в зависимости от того, как на самом деле выполняется каждый базовый механизм?

2 ответа

Решение

Мое решение было простым: я обновил до Postgres 10, и он, кажется, выдвигает предложения where на удаленный сервер.

Оболочка внешних данных Postgres (postgres_FDW) является более новой для PostgreSQL, поэтому она является рекомендуемым методом. Хотя функциональность в расширении dblink аналогична функциональности в оболочке внешних данных, оболочка внешних данных Postgres более совместима со стандартом SQL и может обеспечить улучшенную производительность по сравнению с соединениями dblink.

Прочитайте эту статью для более подробной информации: Cross Database queryng

Другие вопросы по тегам