创建指向视图的外表

Níc*_*sen 6 postgresql postgres-fdw

是否可以使用Postgres Foreign Data Wrapper创建一个指向视图而不是表的外表?

Níc*_*sen 9

对的,这是可能的!

以下查询完美地运行:

CREATE FOREIGN TABLE facts(name character varying(255))
SERVER my_server 
OPTIONS (table_name 'facts');
Run Code Online (Sandbox Code Playgroud)

facts视图my_server而不是表格在哪里.

  • AFAIK如果与外部表的名称相同,则不必指定`table_name`选项。 (2认同)

geo*_*geo 7

最近我不得不做同样的事情,这里是对我有用的步骤。所有这些命令都在本地 postgreSQL 数据库上运行。

CREATE EXTENSION postgres_fdw;
CREATE SERVER remote_server_name
  FOREIGN DATA WRAPPER postgres_fdw
  OPTIONS (host '10.10.10.10', port '5432', dbname 'remote_db_name');

CREATE USER MAPPING FOR local_user_name
  SERVER remote_server_name
  OPTIONS (user 'remote_user', password 'remote_password');

CREATE FOREIGN TABLE local_table_name (
  id NUMERIC NOT NULL,
  row TEXT,
  another_row INTEGER,
  whatever_row TEXT
)
  SERVER remote_server_name
  OPTIONS (schema_name 'public', table_name 'remote_table_name');
Run Code Online (Sandbox Code Playgroud)