gpt4 book ai didi

postgresql - 直接在 Google AppEngine 上使用 psycopg2

转载 作者:行者123 更新时间:2023-11-29 12:08:05 25 4
gpt4 key购买 nike

在使用 Google Appengine Flexible + Python 时,如何直接使用 Psycopg2(不使用 SQLAlchemy)访问 CloudSQL PostgreSQL 数据库?

最佳答案

你好 我自己,

解决方法:

  1. 在你的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
  1. 在要部署和运行的任何 python 文件中,将该环境变量直接传递给 psycopg2connect 语句。这利用了 psycopg2.connect 将 URI 直接传递给 psql 客户端库的能力(这可能不适用于旧的 PostgreSQL 版本......)。
import os
import psycopg2
conn = psycopg2.connect(os.environ['PSYCOPG2_POSTGRESQL_URI'])
  1. 在本地使用 google 云代理工具时,如果您的本地服务器不知道 app.yaml,请确保先设置 URI 环境变量:
export PSYCOPG2_POSTGRESQL_URI="postgresql://user:password@/databasename?host=/cloudsql/project-name:region:database-instance-name"
./cloud_sql_proxy -instances=project-name:region:database-instance-name=tcp:5432
#somewhat later:
python myserver.py

我希望它对你也有用:)

关于postgresql - 直接在 Google AppEngine 上使用 psycopg2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com