[postgresql] PostgreSql 데이터베이스의 소유자를 변경하는 방법은 무엇입니까?

PostgreSql 데이터베이스의 소유자를 변경해야합니다.

phppgadmin에서 PostgreSql 데이터베이스의 소유자를 변경하는 방법은 무엇입니까?



답변

ALTER DATABASE name OWNER TO new_owner;

자세한 내용 은 Postgresql 매뉴얼 항목 을 참조하십시오.


답변

Frank Heikens의 답변은 데이터베이스 소유권 만 업데이트합니다. 종종 포함 된 개체 (테이블 포함)의 소유권을 업데이트하려고합니다. Postgres 8.2부터 REASSIGN OWNED 를 사용하여이 작업을 단순화 할 수 있습니다.

중요 편집!

REASSIGN OWNED원래 역할이 postgres인 경우 사용하지 마십시오 . 이렇게하면 전체 DB 인스턴스가 손상 될 수 있습니다. 이 명령은 시스템 자원 (postgres0, postgres1 등)을 포함하여 새 소유자로 모든 오브젝트를 업데이트합니다.


먼저 관리자 데이터베이스에 연결하고 DB 소유권을 업데이트하십시오.

psql
postgres=# REASSIGN OWNED BY old_name TO new_name;

이것은 ALTER DATABASEFrank의 답변에서 제공되는 명령 과 동일한 명령이지만 특정 DB를 업데이트하는 대신 ‘old_name’이 소유 한 모든 DB의 소유권을 변경합니다.

다음 단계는 각 데이터베이스의 테이블 소유권을 업데이트하는 것입니다.

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

‘old_name’이 소유 한 각 DB에서 수행해야합니다. 이 명령은 DB에있는 모든 테이블의 소유권을 업데이트합니다.


답변