PostgreSQL을 자주 사용하지 않다 보면, 기본적인 명령어마저 기억이 나지 않는 경우가 많습니다. 이를 대비해 PostgreSQL 설정 및 관리에 자주 사용되는 주요 명령어들을 정리했습니다. 이 가이드가 다시 PostgreSQL을 사용할 때 빠르게 참고할 수 있는 유용한 자료가 되길 바랍니다.


1. PostgreSQL 접속

PostgreSQL의 명령어를 사용하려면 우선 데이터베이스에 접속해야 합니다. 기본 관리 계정인 postgres 사용자로 접속하는 방법은 다음과 같습니다.

sudo -u postgres psql

이 명령어를 입력하여 PostgreSQL 쉘에 들어가면 다양한 SQL 명령어를 실행할 수 있습니다.


2. 데이터베이스 생성

새로운 데이터베이스를 생성하고 싶을 때는 다음 명령어를 사용합니다:

CREATE DATABASE database_name;

여기서 database_name은 생성할 데이터베이스의 이름으로 바꿔 사용합니다.


3. 사용자 생성

PostgreSQL에서는 각 사용자에게 개별 권한을 부여할 수 있습니다. 새 사용자를 생성하고 비밀번호를 설정하는 방법은 다음과 같습니다.

CREATE USER user_name WITH PASSWORD 'password';

여기서 user_name'password'는 원하는 사용자명과 비밀번호로 변경해 사용하세요.


4. 데이터베이스에 사용자 권한 부여

데이터베이스에 대한 접근 권한을 특정 사용자에게 부여하려면 다음 명령어를 사용합니다.

GRANT ALL PRIVILEGES ON DATABASE database_name TO user_name;

특정 권한만 부여하고 싶을 때는 ALL PRIVILEGES 대신 SELECT, INSERT, UPDATE와 같은 특정 권한을 명시할 수 있습니다.


5. 데이터베이스 목록 확인

서버에 존재하는 모든 데이터베이스를 확인하려면 다음 명령어를 사용하세요:

\l

이 명령어는 PostgreSQL 쉘에서 사용하며, 현재 서버의 데이터베이스 목록을 출력합니다.


6. 사용자 목록 확인

PostgreSQL에 생성된 모든 사용자를 확인하려면 아래 명령어를 사용합니다:

\du

7. 특정 데이터베이스에 연결

다른 데이터베이스로 전환하고 싶을 때는 다음 명령어로 연결합니다:

\c database_name

database_name을 연결하고자 하는 데이터베이스 이름으로 변경하여 입력합니다.


8. 테이블 목록 보기

현재 연결된 데이터베이스에 있는 모든 테이블을 확인하려면 다음 명령어를 사용하세요:

\dt

이 명령어로 현재 데이터베이스의 테이블 목록을 빠르게 확인할 수 있습니다.


9. 데이터베이스 삭제

필요 없어진 데이터베이스를 삭제하려면 다음 명령어를 사용합니다:

DROP DATABASE database_name;

주의: 이 명령어는 데이터베이스와 그 안의 모든 데이터를 영구적으로 삭제하므로 신중히 사용해야 합니다.


10. 사용자 삭제

더 이상 필요 없는 사용자를 삭제하려면 아래와 같이 입력합니다:

DROP USER user_name;

11. 특정 테이블에 대한 권한 부여

특정 테이블에 대한 권한을 사용자에게 부여하려면 다음 명령어를 사용할 수 있습니다.

GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO user_name;

여기서 table_name은 권한을 부여할 테이블 이름입니다.


12. 슈퍼유저 권한 부여

특정 사용자에게 슈퍼유저 권한을 부여하고 싶을 때는 다음 명령어를 사용하세요:

ALTER USER user_name WITH SUPERUSER;

이 명령어를 통해 데이터베이스의 모든 권한을 가진 슈퍼유저로 설정할 수 있습니다.


13. 사용자 비밀번호 변경

기존 사용자의 비밀번호를 변경하려면 아래 명령어를 사용합니다:

ALTER USER user_name WITH PASSWORD 'new_password';

14. PostgreSQL 서비스 제어

PostgreSQL 서비스는 서버에서 시작, 중지 및 재시작할 수 있습니다. 다음 명령어들은 PostgreSQL 서비스를 관리할 때 유용합니다.

# 서비스 시작
sudo systemctl start postgresql

# 서비스 중지
sudo systemctl stop postgresql

# 서비스 재시작
sudo systemctl restart postgresql

15. 데이터베이스 백업 및 복원

데이터베이스를 백업하거나 복원할 때는 pg_dumppg_restore 명령어를 사용합니다.

  • 백업:
    pg_dump -U user_name -W -F t database_name > backup_file.tar
  • 복원:
    pg_restore -U user_name -W -d database_name backup_file.tar

백업 파일을 통해 데이터베이스를 쉽게 복원할 수 있어 유사시에 대비할 수 있습니다.

List of PostgreSQL Commands

이 명령어들만 잘 기억하고 있어도 PostgreSQL 설정과 관리가 훨씬 수월해집니다. 필요할 때마다 이 목록을 참고하여 빠르게 작업을 처리하세요.