/********************************************************************************************
-- Title : [9.2] psql 사용법
-- Reference : Introduction and Concepts - Bruce Momjian
-- Key word : psql 옵션 psql옵션 명령어 포맷
********************************************************************************************/
-- psql 접속 방법
$ psql : postgres DB에 postgres 롤로 접속
$ psql mydb
: mydb DB에 postgres 롤로 접속
$ psql -d mydb : mydb DB에 postgres 롤로 접속
$ psql postgres -U username : postgres DB에 username 롤로 접속
$ psql -d postgres -U username : postgres DB에 username 롤로 접속
-- 유용 명령어
=# \q -- psql 종료(
Ctrl+d
)
=# \d
-- 테이블, 인덱스, 시퀀스, 뷰 목록
=# \dt {table_name} -- 컬럼 목록
=# \dS -- 시스템테이블 목록
=# \dv -- 뷰 목록
=# \ds -- 시퀀스 목록
=# \dl -- DB 목록
=# \du -- 롤(사용자) 목록
=# \dn -- 스키마 목록
=# \c {db_name} -- 다른 DB에 접속
=# \c {db_name} {usr_name} -- 다른 DB에 지정된 사용자로 접속
=# \db -- 테이블스페이스 목록
-- psql's listing commands
postgres=# \d /*테이블 목록 보기*/
postgres=# \d {table_name} /*지정된 테이블의 컬럼 목록 보기*/
postgres=# \dS /*시스템테이블 목록 보기/
postgres=# \dv /*뷰 목록 보기*/
postgres=# \ds /*시퀀스 목록 보기*/
postgres=# \l /*데이터베이스 목록 보기*/
postgres=# \q /*PSQL 종료*/
postgres=# \du /*롤 목록 보기*/
postgres=# \dn /*스키마 목록 보기*/
-- psql's query buffer commands
postgres=# \h
postgres=# select datname from pg_database;
postgres=# \w result.dat
postgres=# \! cat result.dat
select datname from pg_database;
postgres=# \q
-- psql's general commands
postgres=# \connect mydb; /*다른 DB 접속*/
postgres=# \set num_var 4
postgres=# select :num_var;
postgres=# \set operation SELECT
postgres=# :operation :num_var;
postgres=# \set date_var `date` /*키1 옆에 있는 놈*/
postgres=# \echo :date_var
-- psql's \pset options
postgres=# select NULL; /*소문자 null는 먹히지 않는다.*/
postgres=# \pset null '<null>'
postgres=# select NULL;
-- psql's output format shorcuts
-- psql's predefined variables
-- psql's large object commands
-- psql's command-line arguments