Создание новой базы данных с использованием пользовательского шаблона и изменение владельца таблиц

#postgresql

#postgresql

Вопрос:

У меня есть база данных пользовательских шаблонов «template_custom», содержащая некоторые таблицы, принадлежащие роли «suser».

Теперь мне нужна новая база данных для роли «арендатор1:

CREATE DATABASE db_tenant1 TEMPLATE template_custom OWNER tenant1;

Таблицы (и последовательности) в database template_custom по-прежнему принадлежат suser. Итак:

 c db_tenant1 suser
REASSIGN OWNED BY suser TO tenant1;
  

Теперь для базы данных db_tenant1 все в порядке. Однако база данных шаблонов «template_custom» теперь принадлежит tenant1, как и все таблицы. Это, конечно, не то, чего я хочу (и не ожидаю). Итак, как правильно это сделать?

(с использованием PostgreSQL 11.9)

Ответ №1:

Это прискорбно, но избежать этого невозможно.

Я бы решил проблему, например, изменив владельца таблиц на template_custom другого пользователя suser2 . Тогда REASSIGNED OWNED это не повлияет на базу данных шаблона, которая по-прежнему принадлежит suser .

Комментарии:

1. Это действительно прискорбно. Делает работу с шаблонными базами данных более громоздкой.