[PostgreSQL] 기본 명령어

yebeen·2022년 11월 28일
0

GEMSTONE

목록 보기
4/4

접속

# 서비스 시작
$ brew services start postgresql
# psql 접속
$ psql -U postgres -d userName
# psql 접속 & 비밀번호
$ PGPASSWORD=password psql -U postgres -d userName
# psql 원격 접속
$ psql -h 127.0.0.1 -U postgres -d userName
# psql 원격 접속 & 비밀번호
$ PGPASSWORD=password psql -h 127.0.0.1 -U postgres -d userName

명령어

  • psql -? : 옵션 목록 및 도움말을 확인할 수 있습니다.
  • \l or \list + +: 데이터베이스 목록을 보여줍니다. +를 붙여 자세한 내용을 확인할 수 있습니다.
  • \d or \dt+ + : 테이블, 인덱스, 시퀀스, 뷰 목록을 보여줍니다. +를 붙여 자세한 내용을 확인할 수 있습니다.
  • \d [table] : 해당 테이블의 정보(컬럼 목록)를 보여줍니다.
  • \di : 인덱스 목록을 보여줍니다.
  • \ds : 모든 시퀀스 정보를 보여줍니다.
  • \df : 모든 함수 정보를 보여줍니다.
  • \dv : 모든 뷰 테이블 정보를 보여줍니다.
  • \dg or \du : 등록된 사용자 권한 정보 목록을 보여줍니다.
  • \dn : 스키마 목록을 보여줍니다.
  • \dS : 시스템 테이블 목록을 보여줍니다.
  • \h : 간단한 구성의 SQL 사용법을 확인할 수 있습니다.
  • \e : psql.edit 파일이 열려 query를 수정하고 실행할 수 있습니다.
  • \c or \connect + [database] : 다른 데이터베이스에 접속합니다.
  • \c [database] [user] : 다른 데이터베이스에 지정한 사용자로 접속합니다.
  • \q : psql 종료

ROLE과 사용자

  1. CREATE ROLE
> postgres=# CREATE ROLE name [ [ WITH ] option [ ... ] ]
where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid
  1. CREATE USER
> postgres=# CREATE USER name [ [ WITH ] option [ ... ] ]
where option can be:
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

DATABASE

생성

> postgres=# CREATE DATABASE <databaseName> [[WITH] [OWNER[=] <userName>]];

삭제

> postgres=# DROP DATABASE <databaseName>;

TABLE

대소문자를 구별하지 않고 큰따옴표를 사용해 대소문자 구분을 명시할 수 있습니다.
1줄 주석의 경우 --를 사용합니다.

생성

create table 테이블이름 (
  컬럼이름 자료형 조건,
  ...
);

삭제

> postgres=# DROP TABLE <tableName>;

profile
🐣🐥

0개의 댓글