소프트웨어 개발/데이터베이스

📚 [PostgreSQL] CLI 기본 명령어

브라더댄 2025. 1. 27. 01:15
728x90
반응형
SMALL

PostgreSQL은 강력한 오픈소스 관계형 데이터베이스로, 많은 개발자와 데이터베이스 관리자가 사용하는 도구입니다. 이번 포스팅에서는 **PostgreSQL CLI (Command Line Interface)**의 주요 명령어를 다루며, 기본적인 데이터베이스 작업을 수행하는 방법을 설명합니다.


1. PostgreSQL CLI 환경 준비

1.1. PostgreSQL 설치 확인

PostgreSQL이 설치되어 있는지 확인하려면 터미널에서 다음 명령어를 실행합니다:

psql --version

설치되지 않았다면, PostgreSQL 공식 문서를 참고해 설치를 진행하세요.

1.2. PostgreSQL CLI 접속

PostgreSQL CLI(즉, psql)에 접속하려면 다음 명령어를 사용합니다:

psql -U <username> -d <database_name> -h <host> -p <port>

예제:

psql -U postgres -d my_database -h localhost -p 5432
  • -U: 사용자 이름 (예: postgres)
  • -d: 데이터베이스 이름
  • -h: 호스트 주소 (기본값: localhost)
  • -p: 포트 번호 (기본값: 5432)

1.3. 기본 psql 명령어 사용법

CLI에 접속한 뒤 기본 명령어는 \로 시작합니다:

  • \?: 모든 psql 명령어 목록 표시
  • \q: psql 종료
  • \h [command]: SQL 문법 도움말 (예: \h SELECT)

2. 데이터베이스 작업

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

현재 PostgreSQL 서버에 있는 모든 데이터베이스를 확인하려면:

\l

또는:

\list

2.2. 데이터베이스 생성

새로운 데이터베이스를 생성하려면:

CREATE DATABASE my_database;

2.3. 데이터베이스 접속

다른 데이터베이스로 전환하려면:

\c <database_name>

예제:

\c my_database

2.4. 데이터베이스 삭제

데이터베이스를 삭제하려면:

DROP DATABASE my_database;

주의: 데이터베이스를 삭제하면 그 안의 모든 데이터가 사라집니다!


3. 테이블 작업

3.1. 테이블 목록 확인

현재 데이터베이스에 있는 모든 테이블을 확인하려면:

\dt

3.2. 테이블 생성

테이블을 생성하려면 CREATE TABLE 명령어를 사용합니다:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

3.3. 테이블 구조 확인

테이블의 컬럼과 타입을 확인하려면:

\d <table_name>

예제:

\d users

3.4. 테이블 삭제

테이블을 삭제하려면:

DROP TABLE <table_name>;

예제:

DROP TABLE users;

4. 데이터 삽입, 조회, 업데이트, 삭제

4.1. 데이터 삽입

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

4.2. 데이터 조회

SELECT * FROM users;
  • 특정 조건으로 조회:
SELECT * FROM users WHERE name = 'Alice';

4.3. 데이터 업데이트

UPDATE users SET email = 'newalice@example.com' WHERE name = 'Alice';

4.4. 데이터 삭제

DELETE FROM users WHERE name = 'Alice';

5. 사용자와 권한 관리

5.1. 사용자 생성

CREATE USER my_user WITH PASSWORD 'mypassword';

5.2. 사용자 권한 부여

데이터베이스에 대한 모든 권한을 사용자에게 부여하려면:

GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

5.3. 사용자 목록 확인

모든 사용자를 확인하려면:

\du

6. PostgreSQL 설정 및 로그

6.1. 서버 로그 확인

PostgreSQL 서버 로그를 확인하려면 터미널에서 다음을 실행합니다:

tail -f /var/log/postgresql/postgresql-<version>-main.log

(OS와 설정에 따라 경로는 다를 수 있습니다.)

6.2. 설정 파일 수정

PostgreSQL 설정 파일을 수정하려면:

sudo nano /etc/postgresql/<version>/main/postgresql.conf

변경 후 PostgreSQL 서비스를 재시작해야 적용됩니다:

sudo systemctl restart postgresql

7. 기타 유용한 명령어

7.1. 테이블 외 데이터 구조 보기

  • 인덱스 보기: \di
  • 시퀀스 보기: \ds
  • 뷰 보기: \dv

7.2. SQL 쿼리 결과를 파일로 저장

\o output.txt
SELECT * FROM users;
\o

이렇게 하면 쿼리 결과가 output.txt 파일로 저장됩니다.


8. 실습 예제

예제: 사용자 관리 시스템 구축

  1. 데이터베이스 생성:
    CREATE DATABASE user_management;
    
  2. 데이터베이스 접속:
    \c user_management
    
  3. 테이블 생성:
    CREATE TABLE users (
        id SERIAL PRIMARY KEY,
        name VARCHAR(50),
        email VARCHAR(100),
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    
  4. 데이터 삽입:
    INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'), ('Bob', 'bob@example.com');
    
  5. 데이터 조회:
    SELECT * FROM users;
    
  6. 데이터 업데이트:
    UPDATE users SET email = 'newbob@example.com' WHERE name = 'Bob';
    
  7. 데이터 삭제:
    DELETE FROM users WHERE name = 'Alice';
    

9. 마무리

이번 포스팅에서는 PostgreSQL CLI의 기본 명령어 간단 사용법을 알아봤습니다

728x90
반응형
LIST