PostgreSQL-구문

이 장에서는 PostgreSQL SQL 명령 목록과 각 명령에 대한 정확한 구문 규칙을 제공합니다. 이 명령 세트는 psql 명령 줄 도구에서 가져옵니다. 이제 Postgres가 설치되었으므로 psql을 다음과 같이 엽니 다.

Program Files → PostgreSQL 9.2 → SQL Shell(psql).

psql을 사용하면 \ help 명령을 사용하여 전체 명령 목록을 생성 할 수 있습니다. 특정 명령의 구문은 다음 명령을 사용하십시오-

postgres-# \help <command_name>

SQL 문

SQL 문은 각 토큰이 키워드, 식별자, 인용 된 식별자, 상수 또는 특수 문자 기호를 나타낼 수있는 토큰으로 구성됩니다. 아래 표는 간단한 SELECT 문을 사용하여 기본이지만 완전한 SQL 문과 해당 구성 요소를 설명합니다.

고르다 아이디, 이름 에서
토큰 유형 예어 식별자 예어 식별자
기술 명령 ID 및 이름 열 테이블 이름

PostgreSQL SQL 명령

ABORT

현재 거래를 중단합니다.

ABORT [ WORK | TRANSACTION ]

ALTER AGGREGATE

집계 함수의 정의를 변경합니다.

ALTER AGGREGATE name ( type ) RENAME TO new_name
ALTER AGGREGATE name ( type ) OWNER TO new_owner

ALTER CONVERSION

변환의 정의를 변경하십시오.

ALTER CONVERSION name RENAME TO new_name
ALTER CONVERSION name OWNER TO new_owner

ALTER 데이터베이스

데이터베이스 특정 매개 변수를 변경하십시오.

ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name RESET parameter
ALTER DATABASE name RENAME TO new_name
ALTER DATABASE name OWNER TO new_owner

도메인 변경

도메인 특정 매개 변수의 정의를 변경하십시오.

ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN name { SET | DROP } NOT NULL
ALTER DOMAIN name ADD domain_constraint
ALTER DOMAIN name DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER DOMAIN name OWNER TO new_owner

변경 기능

함수의 정의를 변경합니다.

ALTER FUNCTION name ( [ type [, ...] ] ) RENAME TO new_name
ALTER FUNCTION name ( [ type [, ...] ] ) OWNER TO new_owner

ALTER 그룹

사용자 그룹을 변경합니다.

ALTER GROUP groupname ADD USER username [, ... ]
ALTER GROUP groupname DROP USER username [, ... ]
ALTER GROUP groupname RENAME TO new_name

ALTER INDEX

색인의 정의를 변경합니다.

ALTER INDEX name OWNER TO new_owner
ALTER INDEX name SET TABLESPACE indexspace_name
ALTER INDEX name RENAME TO new_name

언어 변경

절차 적 언어의 정의를 변경합니다.

ALTER LANGUAGE name RENAME TO new_name

ALTER 연산자

연산자의 정의를 변경합니다.

ALTER OPERATOR name ( { lefttype | NONE }, { righttype | NONE } )
OWNER TO new_owner

운영자 클래스 변경

연산자 클래스의 정의를 변경합니다.

ALTER OPERATOR CLASS name USING index_method RENAME TO new_name
ALTER OPERATOR CLASS name USING index_method OWNER TO new_owner

ALTER SCHEMA

스키마 정의를 변경합니다.

ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO new_owner

순서 변경

시퀀스 생성기의 정의를 변경합니다.

ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

ALTER TABLE

테이블의 정의를 변경합니다.

ALTER TABLE [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column
ALTER TABLE name
RENAME TO new_name

어디 조치는 다음과 같은 라인 중 하나입니다 -

ADD [ COLUMN ] column_type [ column_constraint [ ... ] ]
DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column TYPE type [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
CLUSTER ON index_name
SET WITHOUT CLUSTER
SET WITHOUT OIDS
OWNER TO new_owner
SET TABLESPACE tablespace_name

ALTER TABLESPACE

테이블 스페이스의 정의를 변경합니다.

ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO new_owner

ALTER 트리거

트리거의 정의를 변경합니다.

ALTER TRIGGER name ON table RENAME TO new_name

유형 변경

유형의 정의를 변경합니다.

ALTER TYPE name OWNER TO new_owner

사용자 변경

데이터베이스 사용자 계정을 변경합니다.

ALTER USER name [ [ WITH ] option [ ... ] ]
ALTER USER name RENAME TO new_name
ALTER USER name SET parameter { TO | = } { value | DEFAULT }
ALTER USER name RESET parameter

어디 옵션이 될 수 있습니다 -

[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| VALID UNTIL 'abstime'

분석

데이터베이스에 대한 통계를 수집합니다.

ANALYZE [ VERBOSE ] [ table [ (column [, ...] ) ] ]

시작

트랜잭션 블록을 시작하십시오.

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

어디 TRANSACTION_MODE이 중 하나입니다 -

ISOLATION LEVEL { 
   SERIALIZABLE | REPEATABLE READ | READ COMMITTED
   | READ UNCOMMITTED
}
READ WRITE | READ ONLY

검문소

트랜잭션 로그 검사 점을 강제합니다.

CHECKPOINT

닫기

커서를 닫습니다.

CLOSE name

클러스터

인덱스에 따라 테이블을 클러스터링합니다.

CLUSTER index_name ON table_name
CLUSTER table_name
CLUSTER

논평

개체의 설명을 정의하거나 변경합니다.

COMMENT ON {
   TABLE object_name |
   COLUMN table_name.column_name |
   AGGREGATE agg_name (agg_type) |
   CAST (source_type AS target_type) |
   CONSTRAINT constraint_name ON table_name |
   CONVERSION object_name |
   DATABASE object_name |
   DOMAIN object_name |
   FUNCTION func_name (arg1_type, arg2_type, ...) |
   INDEX object_name |
   LARGE OBJECT large_object_oid |
   OPERATOR op (left_operand_type, right_operand_type) |
   OPERATOR CLASS object_name USING index_method |
   [ PROCEDURAL ] LANGUAGE object_name |
   RULE rule_name ON table_name |
   SCHEMA object_name |
   SEQUENCE object_name |
   TRIGGER trigger_name ON table_name |
   TYPE object_name |
   VIEW object_name
} 
IS 'text'

범하다

현재 트랜잭션을 커밋합니다.

COMMIT [ WORK | TRANSACTION ]

파일과 테이블간에 데이터를 복사합니다.

COPY table_name [ ( column [, ...] ) ]
FROM { 'filename' | STDIN }
[ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE NOT NULL column [, ...] ]
COPY table_name [ ( column [, ...] ) ]
TO { 'filename' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]

집계 만들기

새 집계 함수를 정의하십시오.

CREATE AGGREGATE name (
   BASETYPE = input_data_type,
   SFUNC = sfunc,
   STYPE = state_data_type
   [, FINALFUNC = ffunc ]
   [, INITCOND = initial_condition ]
)

캐스트 만들기

새로운 캐스트를 정의하십시오.

CREATE CAST (source_type AS target_type)
WITH FUNCTION func_name (arg_types)
[ AS ASSIGNMENT | AS IMPLICIT ]
CREATE CAST (source_type AS target_type)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

제약 트리거 생성

새로운 제약 트리거를 정의합니다.

CREATE CONSTRAINT TRIGGER name
AFTER events ON
table_name constraint attributes
FOR EACH ROW EXECUTE PROCEDURE func_name ( args )

변환 생성

새 변환을 정의하십시오.

CREATE [DEFAULT] CONVERSION name
FOR source_encoding TO dest_encoding FROM func_name

데이터베이스 생성

새 데이터베이스를 만듭니다.

CREATE DATABASE name
[ [ WITH ] [ OWNER [=] db_owner ]
   [ TEMPLATE [=] template ]
   [ ENCODING [=] encoding ]
   [ TABLESPACE [=] tablespace ] 
]

도메인 만들기

새 도메인을 정의하십시오.

CREATE DOMAIN name [AS] data_type
[ DEFAULT expression ]
[ constraint [ ... ] ]

어디 제약 조건 입니다 -

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | CHECK (expression) }

기능 생성

새 기능을 정의하십시오.

CREATE [ OR REPLACE ] FUNCTION name ( [ [ arg_name ] arg_type [, ...] ] )
RETURNS ret_type
{ LANGUAGE lang_name
   | IMMUTABLE | STABLE | VOLATILE
   | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
   | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
   | AS 'definition'
   | AS 'obj_file', 'link_symbol'
} ...
[ WITH ( attribute [, ...] ) ]

그룹 만들기

새 사용자 그룹을 정의하십시오.

CREATE GROUP name [ [ WITH ] option [ ... ] ]
Where option can be:
SYSID gid
| USER username [, ...]

인덱스 생성

새 색인을 정의하십시오.

CREATE [ UNIQUE ] INDEX name ON table [ USING method ]
( { column | ( expression ) } [ opclass ] [, ...] )
[ TABLESPACE tablespace ]
[ WHERE predicate ]

언어 만들기

새로운 절차 언어를 정의하십시오.

CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
HANDLER call_handler [ VALIDATOR val_function ]

연산자 만들기

새 연산자를 정의하십시오.

CREATE OPERATOR name (
   PROCEDURE = func_name
   [, LEFTARG = left_type ] [, RIGHTARG = right_type ]
   [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
   [, RESTRICT = res_proc ] [, JOIN = join_proc ]
   [, HASHES ] [, MERGES ]
   [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ]
   [, LTCMP = less_than_op ] [, GTCMP = greater_than_op ]
)

연산자 클래스 만들기

새 연산자 클래스를 정의하십시오.

CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
USING index_method AS
{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ RECHECK ]
   | FUNCTION support_number func_name ( argument_type [, ...] )
   | STORAGE storage_type
} [, ... ]

규칙 만들기

새 다시 쓰기 규칙을 정의하십시오.

CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }

스키마 만들기

새 스키마를 정의하십시오.

CREATE SCHEMA schema_name
[ AUTHORIZATION username ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION username
[ schema_element [ ... ] ]

시퀀스 생성

새 시퀀스 생성기를 정의합니다.

CREATE [ TEMPORARY | TEMP ] SEQUENCE name
[ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

테이블 만들기

새 테이블을 정의하십시오.

CREATE [ [ GLOBAL | LOCAL ] { 
   TEMPORARY | TEMP } ] TABLE table_name ( { 
      column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
      | table_constraint
      | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] 
   } [, ... ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

어디 column_constraint가 있다 -

[ CONSTRAINT constraint_name ] { 
   NOT NULL |
   NULL |
   UNIQUE [ USING INDEX TABLESPACE tablespace ] |
   PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |
   CHECK (expression) |
   REFERENCES ref_table [ ( ref_column ) ]
   [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
   [ ON DELETE action ] [ ON UPDATE action ] 
}
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

그리고 table_constraint 는-

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] )
REFERENCES ref_table [ ( ref_column [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

테이블 만들기

쿼리 결과에서 새 테이블을 정의합니다.

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
[ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
AS query

테이블 스페이스 생성

새 테이블 스페이스를 정의하십시오.

CREATE TABLESPACE tablespace_name [ OWNER username ] LOCATION 'directory'

트리거 생성

새 트리거를 정의하십시오.

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE func_name ( arguments )

유형 만들기

새 데이터 유형을 정의하십시오.

CREATE TYPE name AS
( attribute_name data_type [, ... ] )
CREATE TYPE name (
INPUT = input_function,
OUTPUT = output_function
[, RECEIVE = receive_function ]
[, SEND = send_function ]
[, ANALYZE = analyze_function ]
[, INTERNALLENGTH = { internal_length | VARIABLE } ]
[, PASSEDBYVALUE ]
[, ALIGNMENT = alignment ]
[, STORAGE = storage ]
[, DEFAULT = default ]
[, ELEMENT = element ]
[, DELIMITER = delimiter ]
)

사용자 생성

새 데이터베이스 사용자 계정을 정의하십시오.

CREATE USER name [ [ WITH ] option [ ... ] ]

어디 옵션이 될 수 있습니다 -

SYSID uid
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| IN GROUP group_name [, ...]
| VALID UNTIL 'abs_time'

보기 만들기

새보기를 정의하십시오.

CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query

할당 해제

준비된 명령문을 할당 해제하십시오.

DEALLOCATE [ PREPARE ] plan_name

알리다

커서를 정의하십시오.

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
[ FOR { READ ONLY | UPDATE [ OF column [, ...] ] } ]

지우다

표의 행을 삭제합니다.

DELETE FROM [ ONLY ] table [ WHERE condition ]

집합체 삭제

집계 함수를 제거하십시오.

DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ]

드롭 캐스트

캐스트를 제거하십시오.

DROP CAST (source_type AS target_type) [ CASCADE | RESTRICT ]

드롭 변환

변환을 제거하십시오.

DROP CONVERSION name [ CASCADE | RESTRICT ]

DROP 데이터베이스

데이터베이스를 제거하십시오.

DROP DATABASE name

DOMAIN 삭제

도메인을 제거합니다.

DROP DOMAIN name [, ...] [ CASCADE | RESTRICT ]

드롭 기능

함수를 제거하십시오.

DROP FUNCTION name ( [ type [, ...] ] ) [ CASCADE | RESTRICT ]

드롭 그룹

사용자 그룹을 제거합니다.

DROP GROUP name

드롭 인덱스

색인을 제거하십시오.

DROP INDEX name [, ...] [ CASCADE | RESTRICT ]

드롭 언어

절차 적 언어를 제거하십시오.

DROP [ PROCEDURAL ] LANGUAGE name [ CASCADE | RESTRICT ]

드롭 오퍼레이터

연산자를 제거하십시오.

DROP OPERATOR name ( { left_type | NONE }, { right_type | NONE } )
[ CASCADE | RESTRICT ]

드롭 오퍼레이터 클래스

연산자 클래스를 제거하십시오.

DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ]

드롭 규칙

다시 쓰기 규칙을 제거합니다.

DROP RULE name ON relation [ CASCADE | RESTRICT ]

드롭 스키마

스키마를 제거하십시오.

DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]

드롭 순서

시퀀스를 제거합니다.

DROP SEQUENCE name [, ...] [ CASCADE | RESTRICT ]

드롭 테이블

테이블을 제거하십시오.

DROP TABLE name [, ...] [ CASCADE | RESTRICT ]

드롭 테이블 스페이스

테이블 스페이스를 제거합니다.

DROP TABLESPACE tablespace_name

드롭 트리거

트리거를 제거하십시오.

DROP TRIGGER name ON table [ CASCADE | RESTRICT ]

드롭 유형

데이터 유형을 제거하십시오.

DROP TYPE name [, ...] [ CASCADE | RESTRICT ]

사용자 삭제

데이터베이스 사용자 계정을 제거합니다.

DROP USER name

드롭 뷰

보기를 제거합니다.

DROP VIEW name [, ...] [ CASCADE | RESTRICT ]

종료

현재 트랜잭션을 커밋합니다.

END [ WORK | TRANSACTION ]

실행

준비된 명령문을 실행하십시오.

EXECUTE plan_name [ (parameter [, ...] ) ]

설명

명령문의 실행 계획을 보여줍니다.

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

술책

커서를 사용하여 쿼리에서 행을 검색합니다.

FETCH [ direction { FROM | IN } ] cursor_name

어디 방향은 비어 있거나 중 하나가 될 수 있습니다 -

NEXT
PRIOR
FIRST
LAST
ABSOLUTE count
RELATIVE count
count
ALL
FORWARD
FORWARD count
FORWARD ALL
BACKWARD
BACKWARD count
BACKWARD ALL

부여

액세스 권한을 정의합니다.

GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] table_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE db_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE tablespace_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION func_name ([type, ...]) [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE lang_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

끼워 넣다

테이블에 새 행을 만듭니다.

INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | query }

들리다

알림을 듣습니다.

LISTEN name

하중

공유 라이브러리 파일을로드하거나 다시로드합니다.

LOAD 'filename'

자물쇠

테이블을 잠급니다.

LOCK [ TABLE ] name [, ...] [ IN lock_mode MODE ] [ NOWAIT ]

어디 lock_mode이 중 하나입니다 -

ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE
| SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE

움직임

커서를 놓습니다.

MOVE [ direction { FROM | IN } ] cursor_name

알림

알림을 생성합니다.

NOTIFY name

준비

실행할 문을 준비합니다.

PREPARE plan_name [ (data_type [, ...] ) ] AS statement

REINDEX

인덱스를 다시 작성하십시오.

REINDEX { DATABASE | TABLE | INDEX } name [ FORCE ]

SAVEPOINT 출시

이전에 정의 된 저장 점을 삭제합니다.

RELEASE [ SAVEPOINT ] savepoint_name

초기화

런타임 매개 변수의 값을 기본값으로 복원하십시오.

RESET name
RESET ALL

취소

접근 권한을 제거하십시오.

REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] table_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE db_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE tablespace_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION func_name ([type, ...]) [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE lang_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

롤백

현재 거래를 중단합니다.

ROLLBACK [ WORK | TRANSACTION ]

SAVEPOINT로 롤백

저장 점으로 롤백합니다.

ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name

SAVEPOINT

현재 트랜잭션 내에서 새 저장 점을 정의하십시오.

SAVEPOINT savepoint_name

고르다

테이블 또는 뷰에서 행을 검색합니다.

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR UPDATE [ OF table_name [, ...] ] ]
어디 여기서 from_item이 중 하나가 될 수 있습니다 :
[ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
( select ) [ AS ] alias [ ( column_alias [, ...] ) ]
function_name ( [ argument [, ...] ] )
[ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]
function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )
from_item [ NATURAL ] join_type from_item
[ ON join_condition | USING ( join_column [, ...] ) ]

선택

쿼리 결과에서 새 테이블을 정의합니다.

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR UPDATE [ OF table_name [, ...] ] ]

세트

런타임 매개 변수를 변경하십시오.

SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { time_zone | LOCAL | DEFAULT }

제약 설정

현재 트랜잭션에 대한 제약 검사 모드를 설정합니다.

SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }

세션 승인 설정

세션 사용자 식별자와 현재 세션의 현재 사용자 식별자를 설정합니다.

SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION

거래 설정

현재 거래의 특성을 설정합니다.

SET TRANSACTION transaction_mode [, ...]
SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]

어디 TRANSACTION_MODE이 중 하나입니다 -

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| READ UNCOMMITTED }
READ WRITE | READ ONLY

보여 주다

런타임 매개 변수의 값을 표시합니다.

SHOW name
SHOW ALL

거래 시작

트랜잭션 블록을 시작하십시오.

START TRANSACTION [ transaction_mode [, ...] ]

어디 TRANSACTION_MODE이 중 하나입니다 -

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| READ UNCOMMITTED }
READ WRITE | READ ONLY

자르기

테이블을 비 웁니다.

TRUNCATE [ TABLE ] name

듣지 않음

알림 수신을 중지합니다.

UNLISTEN { name | * }

최신 정보

테이블의 행을 업데이트합니다.

UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]
[ FROM from_list ]
[ WHERE condition ]

진공

가비지 수집 및 선택적으로 데이터베이스 분석.

VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]