Как сменить владельца базы данных PostgreSql?

123

Мне нужно изменить владельца базы данных PostgreSql.

Как изменить владельца базы данных PostgreSql в phppgadmin?

Спасибо.

Теги:

2 ответа

212
ALTER DATABASE name OWNER TO new_owner;

Подробнее см. руководство пользователя Postgresql для этого.

  • 3
    Для полноты здесь часть руководства, которая документирует это: postgresql.org/docs/current/static/sql-alterdatabase.html
  • 2
    эта команда удалила мою базу данных ... хорошая
Показать ещё 6 комментариев
7

Ответ Фрэнка Хейкенса будет только обновлять базу данных. Часто вы также хотите обновить право собственности на содержащиеся объекты (включая таблицы). Начиная с Postgres 8.2, REASSIGN OWNED доступен для упрощения этой задачи.

Сначала подключитесь к базе данных администратора и обновите владельца БД:

psql
postgres=# REASSIGN OWNED BY old_name TO new_name;

Это глобальный эквивалент команды ALTER DATABASE, предоставленный во франкском ответе, но вместо обновления конкретного БД он изменяет право собственности на все базы данных, принадлежащие "old_name".

Следующий шаг - обновить владельцы таблиц для каждой базы данных:

psql old_name_db
old_name_db=# REASSIGN OWNED BY old_name TO new_name;

Это должно выполняться на каждом БД, принадлежащем "old_name". Команда обновит право собственности на все таблицы в БД.

  • 2
    Ницца! ... если только владелец не postgres , сам ... Узнал, что трудный путь.
  • 0
    Проблема в том, что он не меняет владельца одной базы данных, но везде заменяет владельца новой.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню