使用Google Appengine Flexible + Python时,如何直接使用Psycopg2(不使用SQLAlchemy)访问CloudSQL PostgreSQL数据库?
答案 0 :(得分:2)
你好myselfhimself
,
这是一个解决方案:
app.yaml
中,添加一个环境变量,模仿Google Appengine Flexible Python CloudSQL documentation's SQLAlchemy的URI,但没有psycopg2+
前缀:env_variables: PSYCOPG2_POSTGRESQL_URI: postgresql://user:password@/databasename?host=/cloudsql/project-name:region:database-instance-name
psycopg2
的{{1}}语句。这利用了connect
将URI直接传递到psycopg2.connect
客户端库的能力(这可能不适用于较早的PostgreSQL版本。)。psql
import os
import psycopg2
conn = psycopg2.connect(os.environ['PSYCOPG2_POSTGRESQL_URI'])
,请确保先设置URI环境变量:app.yaml
我希望它也对您有用:)