使用postgresql_fdw导入外部模式

时间:2017-03-29 13:26:49

标签: postgresql postgres-fdw

我有两个postgreSQL实例,一个作为数据源(端口5433),另一个作为数据访问层(端口5432上的外部数据包装主机)。

我想导入postgreSQL表(Dzlog)的模式,这样我就不必映射“CREATE FOREIGN TABLE”中的每一列。因此,我有以下命令:

engine = create_engine('pgfdw://postgres:test123@localhost:5432/mydb')
connection = engine.connect()
connection.execute("""CREATE SERVER pgfdw_server_1 FOREIGN DATA WRAPPER postgres_fdw 
OPTIONS (dbname 'sorucedb', port '5433', host 'localhost');""")

connection.execute("""CREATE USER MAPPING FOR postgres SERVER `pgfdw_server_1 
OPTIONS (user 'postgres',password 'password')""")`

connection.execute ("""CREATE SCHEMA imported;""")
connection.execute("""IMPORT FOREIGN SCHEMA public LIMIT TO(Dzlog) FROM SERVER pgfdw_server_1 INTO imported;""")

现在,如何使用此导入的架构创建外部表?

更新

因此,如果通过导入外部模式(Dzlog)已经创建了外部表,我使用以下select语句:

connection.execute("""SELECT sheetId FROM importing.Dzlog WHERE dz(30)=-5;""")
  

ProgrammingError:(psycopg2.ProgrammingError)关系“Dzlog”的确如此   不存在

在psql中,关系也不存在

0 个答案:

没有答案