# 서비스 시작
$ 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 종료> 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
> 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
> postgres=# CREATE DATABASE <databaseName> [[WITH] [OWNER[=] <userName>]];
> postgres=# DROP DATABASE <databaseName>;
대소문자를 구별하지 않고 큰따옴표를 사용해 대소문자 구분을 명시할 수 있습니다.
1줄 주석의 경우 --
를 사용합니다.
create table 테이블이름 (
컬럼이름 자료형 조건,
...
);
> postgres=# DROP TABLE <tableName>;