PostgreSQL 데이터베이스의 소유자 변경
Shihab Sikder
2023년6월20일
REASSIGN OWNED
쿼리를 사용하여 기존 데이터베이스의 소유권을 변경할 수 있습니다. 새 사용자는 이전 소유자가 수행할 수 있었던 모든 쿼리를 수행할 수 있습니다.
Psql에서 데이터베이스 소유권 변경
데모를 위해 이전 소유자와 새 사용자로 새 데이터베이스를 만들어 보겠습니다. 그런 다음 새 사용자를 새 데이터베이스의 소유자로 지정하십시오.
데이터베이스 생성:
postgres=# create DATABASE SELL;
CREATE DATABASE
postgres=#
새 사용자 만들기:
postgres=# CREATE USER TEST_USER WITH PASSWORD '~test~';
CREATE ROLE
postgres=#
판매
테이블의 현재 소유자:
SELECT dbs.datname, roles.rolname
FROM pg_catalog.pg_database dbs, pg_catalog.pg_roles roles
WHERE dbs.datdba = roles.oid;
처음에는 postgres
로 로그인했습니다. 이것은 우리의 사용자 이름이었습니다. 이제 위의 쿼리를 실행하면 Postgres 내부의 기존 데이터베이스 소유자가 표시됩니다.
datname | rolname
-----------+----------
template0 | postgres
template1 | postgres
sell | postgres
postgres | postgres
(4 rows)
테이블 Sell
에 소유자 postgres
가 있음을 알 수 있습니다. ’test_user’로 소유자를 변경해 봅시다.
방법은 다음과 같습니다.
ALTER DATABASE SELL OWNER TO TEST_USER;
출력은 다음과 같습니다.
postgres=# ALTER DATABASE SELL OWNER TO TEST_USER;
ALTER DATABASE
postgres=# SELECT dbs.datname, roles.rolname
postgres-# FROM pg_catalog.pg_database dbs, pg_catalog.pg_roles roles
postgres-# WHERE dbs.datdba = roles.oid;
datname | rolname
-----------+-----------
template0 | postgres
template1 | postgres
postgres | postgres
sell | test_user
(4 rows)
postgres=#
sell
이라는 데이터베이스 소유자가 test_user
로 변경된 것을 볼 수 있습니다.
데이터베이스 변경 명령에 대한 자세한 내용은 공식 문서를 참조하세요.
작가: Shihab Sikder