Issue
I am trying to connect to Google Cloud SQL Postgres Using psycopg2.
I have created an postgreSQL instance and using the default database postgres
for now.
I am able to connect from pgadmin tool as well as from the gcloud shell and the queries give expected result.
I have developed a flask application and deploying on standard app engine.
conn = psycopg2.connect(database="postgres", user = "postgres", password = "password", host = "/cloudsql/my-new-db")
And when I run it, the get psycopg2.OperationalError: could not connect to server: No such file or directory
error.
I have a hunch that host value is not correct. I tried various options like /cloudsql/<prj-name>.<region>.<db-instance-name>
But, nothing seems to be working. What else should I be doing to remove this error?
Solution
As mentioned in this article on connecting to Cloud SQL from app engine:
Connecting with Unix sockets
Once correctly configured, you can connect your service to your Cloud SQL instance's Unix domain socket accessed on the environment's filesystem at the following path: /cloudsql/INSTANCE_CONNECTION_NAME.
The INSTANCE_CONNECTION_NAME can be found on the Overview page for your instance in the Google Cloud Console or by running the following command:
gcloud sql instances describe [INSTANCE_NAME]
edit: formatting
Answered By - dishant makwana
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.