В Google Cloud SQL Postgres как мне избежать log_min_messages как не суперпользователя?

В Postgres Google Cloud sql нет возможности сделать суперпользователя. Итак, я получаю:

psql --version
psql (PostgreSQL) 16.3 (Postgres.app)
psql postgres://postgres:password@ip/db
FATAL: permission denied to set parameter "log_min_messages"

когда я пытаюсь подключиться. Я установил для этого флага значение «информация», но при подключении он все равно пытается изменить значение, и эта ошибка является фатальной. Как я могу обойти это, не создав суперпользователя?

  • «Ограничения и привилегии суперпользователя Cloud SQL для PostgreSQL — это управляемая служба, поэтому она ограничивает доступ к определенным системным процедурам и таблицам, требующим расширенных привилегий. В Cloud SQL клиенты не могут создавать пользователей с атрибутами суперпользователя или иметь к ним доступ».

https://cloud.google.com/sql/docs/postgres/users

Это скорее проблема клиента, чем проблема сервера. Насколько я знаю, это ФАТАЛЬНО только если попытаться установить его через PGOPTIONS на клиенте. Поэтому измените конфигурацию клиента, чтобы этого не делать. Или расскажите, что такое клиент и как он настроен.

jjanes 31.07.2024 03:05

psql --version psql (PostgreSQL) 16.3 (Postgres.app)

Andrew Arrow 31.07.2024 07:52

Почему этот клиент пытается изменить log_min_statements? Это не поведение по умолчанию. Установлена ​​ли у вас переменная среды PGOPTIONS? Это что-то в строке подключения? Это что-то в файле .psqlrc (хотя в моем тестировании это не кажется фатальным)?

jjanes 31.07.2024 18:52

нет, нет PGOPTIONS env var. Чтобы проверить, возможно, проблема в моей версии 16.3 (Postgres.app), я заварил install postgresql@15 и попытался подключиться к этому двоичному файлу psql v15. Но я неправильно понял путь, и после установки я снова запустил оригинальную версию 16.3 и... барабанная дробь, сам процесс установки Brew каким-то образом решил проблему!

Andrew Arrow 31.07.2024 22:16
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Они называются «флагами базы данных». Вы можете изменить настройки с помощью Google Cloud Console.

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

я сделал это. Все еще получаю ошибку. psql: ошибка: соединение с сервером, порт 5432 не удалось: FATAL: отказано в разрешении на установку параметра «log_min_messages»

Andrew Arrow 31.07.2024 02:42

В этом случае вам придется связаться с GCP, потому что они утверждают, что это должно сработать.

Frank Heikens 31.07.2024 02:46

спасибо, есть идеи, почему я получил отрицательный голос?

Andrew Arrow 31.07.2024 02:50

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

jjanes 31.07.2024 03:15
Ответ принят как подходящий

Я сделал

brew install postgresql@15

и это как-то исправило это для меня. Несмотря на то, что я все еще использую свой оригинальный psql (PostgreSQL) 16.3 (Postgres.app). Теперь я могу войти в систему без этой ФАТАЛЬНОЙ ошибки, но понятия не имею, почему это исправило.

Другие вопросы по теме