Skip to content

PostgreSQL: Изменить владельца таблиц в БД

После разворачивания дампа БД от другого пользователя, потребовалось скорректировать права на таблицы в БД. Быстрый поиск выдал статейку от утилты TablePlus. Отработало идеально, поэтому забираю к себе в заметки, вдруг еше понадобится.

Tables:

for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" bdname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done

Sequences:


for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" dbname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done

Views:

for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" dbname` ; do  psql -c "alter table \"$tbl\" OWNER to NEWOWNER" DBNAME ; done

DBNAME — имя БД
OWNER — текущий владелец таблиц в БД
NEWOWNER — новый владелец таблиц в БД

Источник

Published inDatabases

Be First to Comment

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *