A PostgreSQL расширение, которое предлагает эту функцию, является postgres_fdw
. Вот пример того, как его настроить:
Сначала вы создаете расширение:
CREATE EXTENSION postgres_fdw
После этого вы создаете сервер, указывающий на внешний postgres сервер
CREATE SERVER remote_postgres
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (dbname 'mydb', host 'remoteserver', port '5432');
Затем пользователь сопоставляется, чтобы пользователь в вашей текущей базе данных мог получить доступ к внешней базе данных:
CREATE USER MAPPING FOR local_user
SERVER remote_postgres
OPTIONS (user 'foreign_user', password 'secret');
И, наконец, вы создаете стороннюю таблицу для связи обеих таблиц
CREATE FOREIGN TABLE foreign_table_test
(id INT, description TEXT)
SERVER remote_postgres
OPTIONS (schema_name 'public', table_name 'table_test');
Как только ваша таблица создана, вы можете запросить ее, как если бы вы запросили обычную / локальную таблицу:
SELECT * FROM foreign_table_test
Дополнительная информация: