2

I can able to create postgres sqlalchemy connection to 'public' schema.

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

Now try to connect non-public schema say 'myschema'.

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

I got error :

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

How can i connect postgres by using able statements.

Thank you.

abhimanyu
  • 730
  • 1
  • 10
  • 23

1 Answers1

1

This is valid connection string for specific schema:

engine = create_engine('postgresql://dbuser:dbpass@localhost:5432/dbname', connect_args={'options': '-csearch_path={}'.format('dbschema')})
Hrvoje
  • 13,566
  • 7
  • 90
  • 104