使用sqlalchemy访问postgres中的模式的最佳方法

时间:2017-10-03 08:45:48

标签: python database postgresql sqlalchemy

我正在使用Postgres数据库。此数据库有三个模式(schema_1schema_2public)。如果我运行简单查询,默认情况下将查询public模式:

from sqlalchemy import create_engine
con  = create_engine('postgresql+pg8000://usr:pwd@server/db')
con.execute('select count(*) from the_table')

我无法访问schema_1schema_2中的表格,除非我在查询中指定路径:

con.execute('select count(*) from schema_1.the_table')

有没有办法在schema_1中指定查询的默认路径,而无需在查询本身中指定完整路径?

我尝试过:

con.execute('SET search_path TO "schema_1";')

但这似乎不起作用:

insp = inspect(con)
print(insp.default_schema_name)
# 'public'

我相信我没有正确执行SET search_path TO "schema_1",因为相同的命令在其他Postgres客户端(例如pgAdmin)中有效

0 个答案:

没有答案