Postgreslerde, normalde varsayılan olarak üç veritabanı bulunur. Bir süper kullanıcı olarak bağlanabiliyorsanız (örneğin, postgres
rol), o zaman postgres
veya template1
veritabanlarına bağlanabilirsiniz . Varsayılan pg_hba.conf yalnızca adı verilen unix kullanıcısının rolü postgres
kullanmasına izin verir postgres
, bu nedenle en basit şey o kullanıcı haline gelmektir. Her halükarda, veritabanı oluşturma izinlerine sahip bir kullanıcıyla her zamanki gibi bir motor oluşturun:
>>> engine = sqlalchemy.create_engine("postgres://postgres@/postgres")
engine.execute()
Ancak kullanamazsınız çünkü postgres işlemler içinde veritabanları oluşturmanıza izin vermez ve sqlalchemy her zaman bir işlemde sorgu çalıştırmaya çalışır. Bunu aşmak için altta yatan bağlantıyı motordan alın:
>>> conn = engine.connect()
Ancak bağlantı yine de bir işlemin içinde olacaktır, bu nedenle açık işlemi bir ile sonlandırmanız gerekir commit
:
>>> conn.execute("commit")
Daha sonra uygun PostgreSQL komutunu kullanarak veritabanını oluşturmaya devam edebilirsiniz.
>>> conn.execute("create database test")
>>> conn.close()