Я изо всех сил пытаюсь решить эту проблему с помощью компонента Cloud SQL Google Cloud Platform. Мой технический стек состоит из размещения моего приложения в развертывании Google Kubernetes Engine (GKE) с использованием дополнительного компонента прокси-сервера Cloud SQL для подключения к базе данных в модулях. Бэкэнд - это проект Symfony.
Я выполняю следующие шаги, чтобы создать и заполнить базу данных (безуспешно):
phpfpm
) и запустите команду php bin/console doctrine:schema:update --force
, чтобы обновить схему. Запросы выполняются в базе данных, поэтому создается схема и так далее.postgres
и пытаюсь выполнить простой запрос select * from foo;
. Ответ Insufficient privilege: 7 ERROR: permission denied for relation
Как я могу запросить данные в базе данных с помощью пользователя postgres
?
РЕДАКТИРОВАТЬ :
У меня такая ситуация с пользователями:
Role name | Attributes | Member of
-------------------+------------------------------------------------------------+-------------------------------
acando14 | Create role, Create DB | {cloudsqlsuperuser,proxyuser}
cloudsqladmin | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
cloudsqlagent | Create role, Create DB | {cloudsqlsuperuser}
cloudsqlreplica | Replication | {}
cloudsqlsuperuser | Create role, Create DB | {}
postgres | Create role, Create DB | {cloudsqlsuperuser,acando14}
proxyuser | Create role, Create DB | {cloudsqlsuperuser}
А у меня в таблицах такая ситуация:
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | article | table | acando14
Если я использую пользователя postgres, зарегистрированного в моей базе данных, symfony
работает:
symfony => select * from article;
id | model_id | code | size
----+----------+------+------
(0 rows)
Но если я использую сервер для выполнения кода, ответ будет следующим:
SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for relation employee at PDOException(code: 42501): SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for relation .. at
И еще одна проблема в том, что я не сгенерировал все таблицы с помощью команды, но мне нужно сгенерировать ее, выполняя все запросы, так странно ...
Спасибо! С уважением
С прокси-пользователем ...
От имени какого пользователя служба, размещенная в k8s, подключается к базе данных?