#postgresql #google-cloud-sql
#postgresql #google-cloud-sql
Вопрос:
Для создания классов операторов в postgresql требуется атрибут суперпользователя для используемой вами роли — https://www.postgresql.org/docs/9.6/sql-createopclass.html.
Пользователь, который определяет класс operator, становится его владельцем. В настоящее время создающий пользователь должен быть суперпользователем. (Это ограничение введено, потому что ошибочное определение класса operator может запутать или даже привести к сбою сервера.)
Однако GCP не позволяет добавлять атрибут суперпользователя к роли — https://cloud.google.com/sql/docs/postgres/users.
Пользователь postgres является частью роли cloudsqlsuperuser и имеет следующие атрибуты (привилегии): CREATEROLE, CREATEDB и LOGIN. У него нет атрибутов СУПЕРПОЛЬЗОВАТЕЛЯ или РЕПЛИКАЦИИ.
Есть ли какой-либо способ создать классы операторов в GCP postgresql? Если да, то как?
Ответ №1:
Да, ограниченным способом, с использованием расширений PostgreSQL для Cloud SQL. Например, btree_gin
или btree_gist
. К сожалению, если этого нет в этом списке, то это невозможно сделать.
Если вам нужно запросить новое расширение, вы можете проголосовать за него, найдя его на трекере проблем (ищите Cloud SQL
) или создав новую проблему.