Кто-нибудь из вас имеет опыт работы с PostgREST и Cloud SQL?
Мой экземпляр SQL готов к работе с открытым доступом (0.0.0.0/0), и я могу получить к нему доступ через локальный PostGREST с помощью прокси-приложения Cloud.
Теперь я хочу запустить Postgrest из экземпляра того же проекта, но не могу найти формат URI для Postgrest, который поддерживает формат Cloud SQL, поскольку Google SQL Cloud использует только сокеты unix как /cloudsql/INSTANCE_CONNECTION_NAME
Конфиг 1
db-uri = "postgres://postgres:password@/unix(/cloudsql/INSTANCE_CONNECTION_NAME)/mydatabase"
db-schema = "api"
jwt-secret = "OOcJ7VoSY1mXqod4MKtb9WCCwt9erJkRQ2tzYmLb4Xe="
db-anon-role = "web_anon"
server-port=3000
Возвращает {"details":"could not translate host name \"unix(\" to address: Unknown host\n","code":"","message":"Database connection error"}
Конфиг 2
db-uri = "postgres://postgres:password@/mydatabase?unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME"
db-schema = "api"
jwt-secret = "OOcJ7VoSY1mXqod4MKtb9WCCwt9erJkRQ2tzYmLb4Xe="
db-anon-role = "web_anon"
server-port=3000
Синтаксический анализатор отклоняет вопросительный знак {"details":"invalid URI query parameter: \"unix_socket\"\n","code":"","message":"Database connection error"}
Конфигурация 3
db-uri = "postgres://postgres:password@/mydatabase"
db-schema = "api"
jwt-secret = "OOcJ7VoSY1mXqod4MKtb9WCCwt9erJkRQ2tzYmLb4Xe="
db-anon-role = "web_anon"
server-port=3000
server-unix-socket= "/cloudsql/INSTANCE_CONNECTION_NAME"
server-unix-socket
, по-видимому, принимает только путь к файлу блокировки сокета. Подавая его /cloudsql/INSTANCE_CONNECTION_NAME
пытается удалить файл, как в `postgrest.exe: / cloudsql / INSTANCE_CONNECTION_NAME: DeleteFile" / cloudsql / INSTANCE_CONNECTION_NAME ": неверный аргумент t (неверный синтаксис имени файла, имени каталога или метки тома).
Документация
Облако SQL Do c
PostgREST
Среда
- PostgreSQL версия: 11
- Версия PostgREST: 6.0.2
- Операционная система: Win10 и Alpine