Flask SQLalchemy не может подключиться к базе данных Google Cloud Postgresql с сокетом Unix - PullRequest
0 голосов
/ 14 декабря 2018

Я использую Flask SQLalchemy в моем проекте стандартной среды google app engine, чтобы попытаться подключиться к моей базе данных GCP Postgresql. Согласно документации Google, URL-адрес может быть создан в этом формате

# postgres+pg8000://<db_user>:<db_pass>@/<db_name>?unix_socket=/cloudsql/<cloud_sql_instance_name>

иниже мой код

from flask import Flask, request, jsonify
import constants

app = Flask(__name__)

# Database configuration from GCP postgres+pg8000
DB_URL = 'postgres+pg8000://{user}:{pw}@/{db}?unix_socket=/cloudsql/{instance_name}'.format(user=user,pw=password,db=dbname, instance_name=instance_name)

app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # silence the 
deprecation warning
sqldb = SQLAlchemy(app)

Это ошибка, которую я продолжаю получать:

File "/env/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 412, in connect return self.dbapi.connect(*cargs, **cparams) TypeError: connect() got an unexpected keyword argument 'unix_socket'

1 Ответ

0 голосов
/ 14 декабря 2018

Аргумент для указания сокета unix зависит от используемого вами драйвера.Согласно pg8000 docs , вам нужно использовать unix_sock вместо unix_socket.

. Чтобы увидеть это в контексте приложения, вы можете взглянуть на это образец заявки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...