具有架构名称的Postgres sqlalchemy会话创建

时间:2019-03-18 10:46:27

标签: python postgresql sqlalchemy typeerror

我可以创建到“公共”模式的postgres sqlalchemy连接。

 url = 'postgresql://scott:tiger@localhost:5432/mydatabase'
 engine = create_engine(url)
 engine.connect()
 session = sessionmaker(bind=engine)
 Session = session()

现在尝试连接非公开模式,例如“ myschema”。

 engine = create_engine(url, connect_args={"schema" : "myschema"})
 engine.connect()
 session = sessionmaker(bind=engine)
 Session = session()

我遇到了错误:

TypeError: connect() got an unexpected keyword argument 'schema'

如何使用能干的语句连接Postgres。

谢谢。

1 个答案:

答案 0 :(得分:0)

这是特定架构的有效连接字符串:

engine = create_engine('postgresql://dbuser:dbpass@localhost:5432/dbname', connect_args={'options': '-csearch_path={}'.format('dbschema')})