[PostgreSQL] 자주 쓰는 명령어 정리

이태권 (Taekwon Lee)·2022년 7월 28일
0

[PostreSQL]

목록 보기
1/1

⌨️ 접속

로그인

  • 명령어
    psql database_name -U user_name
  • 예시
    psql postgres -U taekwon




PostreSQL 명령어 매뉴얼

(데이터베이스 이름)=> \?

postgres=> \?




🔎 조회

데이터베이스 조회

\l[+] [PATTERN] list databases

(데이터베이스 이름)=#\l
또는
(데이터베이스 이름)=#\list

postgres=# \list
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges   
-----------+----------+----------+---------+-------+-----------------------
 postgres  | taekwon  | UTF8     | C       | C     | =Tc/taekwon          +
           |          |          |         |       | taekwon=CTc/taekwon
 template0 | taekwon  | UTF8     | C       | C     | =c/taekwon           +
           |          |          |         |       | taekwon=CTc/taekwon
 template1 | taekwon  | UTF8     | C       | C     | =c/taekwon           +
           |          |          |         |       | taekwon=CTc/taekwon

테이블 조회

\dt[S+] [PATTERN] list tables


(데이터베이스 이름)=#\dt

kakao_gun_remote=# \dt
              List of relations
 Schema |      Name       | Type  |  Owner
--------+-----------------+-------+----------
 public | customer_groups | table | postgres
 public | customers       | table | postgres
 public | groups          | table | postgres
 public | message_status  | table | postgres
 public | templates       | table | postgres
 public | users           | table | postgres
(6 rows)

테이블의 컬럼 조회

  • 지정된 테이블의 원하는 컬럼 조회
    SELECT column_name FROM table_name;
  • 지정된 테이블의 모든 컬럼 조회
    SELECT * FROM table_name;
  • 원하는 컬럼 정렬
    SELECT column_name FROM table_name ORDER BY column_name




➕ 생성

데이터베이스 생성

  • 데이터베이스 생성
    CREATE DATABASE name

    • owner에게 모든 권한 위임
      GRANT ALL PRIVILEGES ON DATABASE name TO new_user;
    • owner 변경
      ALTER DATABASE name OWNER TO postgres;
  • 한글 정렬을 원한다면
    CREATE DATABASE name TEMPLATE template0 LC_COLLATE 'ko_KR.utf8';

데이터 생성

INSERT INTO table_name () VALUES column_name

INSERT INTO customers (fk_user_id, kakao_nickname, name) VALUES ('1', '메디', '김메디');




✍️ 수정

데이터베이스 OWNER 수정

ALTER DATABASE name OWNER TO new_owner;

테이블 OWNER 수정

  • 원하는 테이블 owner 변경
    ALTER TABLE name OWNER TO new_owner;
  • 모든 특정 소유의 오브젝트를 다른 유저 소속으로 변경
    REASSIGN OWNED BY old_owner TO new_owner;




♻️ 복원

SQL 덤프 복원

$> psql DB_NAME < SQL_FILE_NAME.sql

원격 SQL 덤프 복원

psql -U postgres -h HOST_NUMBER -p PORT_NUMBER DATABASE_NAME < SQL_FILE_NAME;




🗑 삭제

  • 원하는 데이터베이스 삭제
    DROP DATABASE name;




🔖 참고 자료

profile
(Backend Dev.) One step at a time

0개의 댓글