Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用postgresql\u fdw导入外部架构_Postgresql_Postgres Fdw - Fatal编程技术网

使用postgresql\u fdw导入外部架构

使用postgresql\u fdw导入外部架构,postgresql,postgres-fdw,Postgresql,Postgres Fdw,我有两个postgreSQL实例,一个作为数据源(端口5433),另一个作为数据访问层(端口5432上的外部数据包装主机) 我想导入postgreSQL表(Dzlog)的模式,这样我就不必映射“创建外部表”中的每一列。因此,我有以下命令: engine = create_engine('pgfdw://postgres:test123@localhost:5432/mydb') connection = engine.connect() connection.execute("""CREATE

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

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

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;""")
编程错误:(psycopg2.ProgrammingError)关系“Dzlog”没有 不存在


在psql中,关系也不存在

导入外部模式已经创建了外部表。如果您想创建更多,只需将他们的名字添加到
限制到
。没有。它告诉我关系不存在,所以我可以查询的外部表的名称是Dzlog?我认为限制定义了我们要从源数据源中的哪个表导入模式。它什么时候说的?如果您的
IMPORT-FOREIGN SCHEMA
语句成功执行,则应在您的
imported
架构中创建一个
Dzlog
命名(外来)表。关系“Dzlog”中的该空间非常可疑。如果这不是原因,请确保
导入外部架构
运行成功(没有任何错误)。您还可以再次检查表名(例如,大写字母
D
在使用引号时很重要,但在不使用引号时将小写)。您已将外部架构导入到
导入的
,但您查询的是
导入的
。这是两个不同的模式名称。