1. PSQL 기본명령어
1. psql 접속/종료 및 DB접속
명령어 | 설명 |
$ psql | edb DB에 enterprisedb 롤로 접속 |
$ psql mydb |
mydb DB에 enterprisedb 롤로 접속 |
$ psql -d mydb | mydb DB에 enterprisedb 롤로 접속 |
$ 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 Connection의 IP주소 |
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)
'2. DBMS이야기 > 01. PostgreSQL' 카테고리의 다른 글
PostgreSQL DBlink 설치 및 사용법 (0) | 2014.06.13 |
---|---|
[Admin] 3.Server Configuration : 개요 및 Parameter 확인 (0) | 2014.06.10 |
PostgreSQL vs ORACLE Insert 성능 비교 (0) | 2014.06.02 |
[펌] PostgreSQL 9.1 - 동기 복제 : 퀵 스타트 (0) | 2014.05.30 |
PostgreSQL 스키마 개념 및 활용 (0) | 2014.05.29 |