Я создал экземпляр базы данных postgres с единой зоной на Cloud Sql и пытаюсь подключиться через облачный sql-прокси.

/cloud_sql_proxy -instances=<PROJECT_ID>:us-central1:staging=tcp:5432 -credential_file=./<SERVICE_ACCOUNT_KEY_FILE> 

Это идет хорошо. Но когда я запускаю команду ниже,

psql "host=127.0.0.1 sslmode=disable dbname=postgres user=postgres"

Прокси показывает эту ошибку:

2019/11/14 15:20:10 using credential file for authentication; email=<SERVICE_ACCOUNT_EMAIL>
2019/11/14 15:20:13 Listening on 127.0.0.1:5432 for <PROJECT_ID>:us-central1:staging
2019/11/14 15:20:13 Ready for new connections
2019/11/14 15:20:34 New connection for "<PROJECT_ID>:us-central1:staging"
2019/11/14 15:22:45 couldn't connect to "<PROJECT_ID>:us-central1:staging": dial tcp 34.70.245.249:3307: connect: connection timed out

Почему это происходит? Я делаю это из своего местного.

1
topmoon 14 Ноя 2019 в 16:49

2 ответа

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

Мне не нужно было делать никаких дополнительных шагов (занесение ip в белый список, открытие порта и т. Д.), И это было сделано в чистом проекте.

Вы пытаетесь сделать это локально с помощью SDK или из Cloud Shell? Есть ли у вас какие-либо ограничения брандмауэра?

Любая дополнительная информация о конкретной настройке с вашей стороны, которая может повлиять, обязательно поможет.

Дайте нам знать.

РЕДАКТИРОВАТЬ:

Убедитесь, что ваш порт 3307 ничем не заблокирован.

Просмотрите эту официальную документацию, указав это.

0
Stefan G. 14 Ноя 2019 в 18:48

У меня раньше была проблема, когда я по какой-то причине не указывал аргумент port для psql, попробуйте следующее:

psql “host=127.0.0.1 port=5432 sslmode=disable user=postgres”

Не указывайте db и посмотрите, позволит ли это вам перейти к приглашению.

0
Gabe Weiss 14 Ноя 2019 в 19:49