2. DBMS이야기/01. PostgreSQL

[Admin] 2.Orations (명령어)

OSSW(Open Source System SoftWare 2014. 6. 2. 21:04

1. PSQL 기본명령어


1. psql 접속/종료 및 DB접속

 명령어

 설명

 $ psql  edb DBenterprisedb 롤로 접속

 $ psql mydb

 mydb DBenterprisedb 롤로 접속
 $ psql -d mydb  mydb DBenterprisedb 롤로 접속
 $ psql edb -U username  edb DB에 해당 username 롤로 접속
 $ psql -d edb -U username  edb DB에 해당 username 롤로 접속
 =# \q  psql 종료 (ctrl + d)
 =# \c {db_name}  다른 DB에 접속
 =# \c {db_name} {usr_name}  다른 DB에 해당 사용자로 접속


2. DB접속 주요 Object 조회

명령어

설명

 =# \l  데이터베이스 목록

 =# \db

 테이블스페이스 목록
 =# \dn  스키마 목록
 =# \d  테이블, 인덱스, 시퀀스, 목록

 =# \dS

 시스템테이블 목록
 =# \dt {table_name}  컬럼 목록
 =# \di  인덱스 목록
 =# \dv  뷰 목록
 =# \ds  시퀀스 목록
 =# \df

 Function 목록

 =# \dl

 Large Object 목록

 =# \du

 롤(사용자) 목록


3. 기타 Object 조회

명령어

설명

 =# \z or \dp  Permission 조회
 =# \do  Operators 조회
 =# \da  Aggregates 조회
 =# \dd  Comments 조회


4. Query Buffer 명령어

명령어

설명

Argument

 =# \p  Query Buffer Print  
=# \g or ;  Query Buffer Execute  file or |command
 =# \r  Query Buffer Clear  
 =# \e  Query Buffer Edit  file
 =# \?  Backslash Help   
 =# \h  SQL Help (모든 SQL 명령구문 추출)  topic
 =# \i  Include File  file
 =# \o  Output to file/command  file or |command
 =# \w  Write buffer to file  file
 =# \s  Show/Save Query History  file
 =# \!  Run subshell  command


edb=# select datname from pg_database;

edb=# \w result.dat

edb=# \! cat result.dat

             select datname from pg_database;


5. General 명령어

명령어

설명

 =# \copy tablename to|from filename  테이블 복사
 =# \set variable or \set variable_value  변수 설정
 =# \unset  변수 설정 해제
 =# \pset option or \pset option_value  출력 포맷 설정
 =# \echo string or \echo 'command '

 echo

 =# \qecho sting or \qecho 'command '  \o output으로 echo  
 =# \copyright  copyright
 =# \encoding newencoding  문자 encoding 변경


=# \set num_var 5

=# select :num_var;

       ?column?

       -----------------

                     5

       (1 row)


=# \set operation SELECT

=# :operation :num_var;

        ?column?

       -----------------

                     5

       (1 row)


=# \set date_var 'date'

=# \echo :date_var


※ \pset 옵션

Parameter

Options

Format

 format  unaligned, aligned, html, or latex  Filed alignment
 fieldsep   separator  Filed separator
 expanded    One filed per line
 tuples_only    Rows only
 recordsep  separator  Row separator
 title  title   Table title
 border  0, 1, or 2  Table border
 null  null_string  Display NULL values
 tableattr  tags  HTML table tags
 pager  command  Page output


=# select NULL;      

        ?column?

        -------------------------

         (1 row)


=# \pset null '<null>'

         Null display is "<null>".


=# select NULL;

        ?column?

         -------------------------

         <null>

         (1  row)



6. Large Object 명령어

Large Object

명령어

Argument

 Import  \lo_import  file
 Export  \lo_export  oid file
 Unlink  \lo_unlink  oid
 List  \lo_list  





2. PostgreSQL 서버 기본정보 확인


이름

반환유형

설명

current_catalog

name

현재 데이터베이스 (called "catalog" in the SQL standard)

current_database()

name

현재 데이터베이스
current_query()

text

Client에 의해서 현재 수행중인 쿼리
current_schema[( )]

name

현재 스키마 이름
current_schemas (boolean)

name[ ]

Search Path의 모든 스키마 이름
current_user

name

현재 접속 User
pg_backend_pid()

int

현재 세션의 서버 프로세스(postgres) ID
current

timestamp

현재 서버 시간
pg_conf_load_time()

timestamp

Configuration Load 시간
pg_postmaster_start_time()

timestamp

서버 기동시작 시간

(기동된 시간 = current_timestamp - pg_postmaster_start_time())

session_user

name

세션 User 이름
user

name

current_user 결과와 동일
version

text

PostgreSQL(PPAS)의 버전
inet_client_addr()

inet

Remote Connection의 주소
inet_client_addr()

int

Remote Connection의 포트
inet_server_addr()

inet

현재 서버의 Local ConnectionIP주소
inet_server_port()

int

현재 서버의 Local Connection의 포트
pg_is_other_temp_schema(oid)

boolean

스키마가 다른 세션의 임시 스키마인지 여부
pg_listening_channels()

set of text

세션이 현재 Listening하고 있는 채널 이름
pg_my_temp_schema()

oid

세션의 임시 스키마의 OID (없다면 0)
pg_trigger_depth()

int

PostgreSQL 트리거들의 현재 중첩 레벨

(트리거 내부로부터 직간접적으로 호출되지 않으면 0)




by. 이은석 (2014.06.02)