SQL語法
本文介紹AnalyticDB PostgreSQL版支持的SQL命令及語法參考。
AnalyticDB PostgreSQL版Serverless模式暫不支持部分語法,具體限制,請參見Serverless模式。
ABORT
終止當前事務。
ABORT [WORK | TRANSACTION]
更多信息,請參見ABORT。
ALTER AGGREGATE
改變聚集函數的定義。
ALTER AGGREGATE name ( type [ , ... ] ) RENAME TO new_name
ALTER AGGREGATE name ( type [ , ... ] ) OWNER TO new_owner
ALTER AGGREGATE name ( type [ , ... ] ) SET SCHEMA new_schema
更多信息,請參見ALTER AGGREGATE。
ALTER CONVERSION
修改轉換的定義。
ALTER CONVERSION name RENAME TO newname
ALTER CONVERSION name OWNER TO newowner
更多信息,請參見ALTER CONVERSION。
ALTER DATABASE
修改數據庫屬性。
ALTER DATABASE name [ WITH CONNECTION LIMIT connlimit ]
ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name RESET parameter
ALTER DATABASE name RENAME TO newname
ALTER DATABASE name OWNER TO new_owner
更多信息,請參見ALTER DATABASE。
ALTER DOMAIN
改變域的定義。
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 DOMAIN name SET SCHEMA new_schema
更多信息,請參見ALTER DOMAIN。
ALTER EXTERNAL TABLE
改變外部表的定義。
ALTER EXTERNAL TABLE name RENAME [COLUMN] column TO new_column
ALTER EXTERNAL TABLE name RENAME TO new_name
ALTER EXTERNAL TABLE name SET SCHEMA new_schema
ALTER EXTERNAL TABLE name action [, ... ]
更多信息,請參見ALTER EXTERNAL TABLE。
ALTER FUNCTION
改變函數的定義。
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
action [, ... ] [RESTRICT]
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
RENAME TO new_name
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
OWNER TO new_owner
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
SET SCHEMA new_schema
更多信息,請參見ALTER FUNCTION。
ALTER GROUP
改變角色名字或者成員信息。
ALTER GROUP groupname ADD USER username [, ... ]
ALTER GROUP groupname DROP USER username [, ... ]
ALTER GROUP groupname RENAME TO newname
更多信息,請參見ALTER GROUP。
ALTER INDEX
改變索引的定義。
ALTER INDEX name RENAME TO new_name
ALTER INDEX name SET TABLESPACE tablespace_name
ALTER INDEX name SET ( FILLFACTOR = value )
ALTER INDEX name RESET ( FILLFACTOR )
更多信息,請參見ALTER INDEX。
ALTER OPERATOR
改變操作符的定義。
ALTER OPERATOR name ( {lefttype | NONE} , {righttype | NONE} )
OWNER TO newowner
更多信息,請參見ALTER OPERATOR。
ALTER RESOURCE QUEUE
修改資源隊列的限制。
ALTER RESOURCE QUEUE name WITH ( queue_attribute=value [, ... ] )
更多信息,請參見ALTER RESOURCE QUEUE。
ALTER ROLE
修改一個數據庫角色(用戶或組)。
ALTER ROLE name [ [ WITH ] option [ ... ] ]
WHERE option can be:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CREATEEXTTABLE | NOCREATEEXTTABLE [ ( attribute='value' [, ...] )
WHERE attributes and values are:
type='readable'|'writable'
protocol='gpfdist'|'http'
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
ALTER ROLE name RENAME TO new_name
ALTER ROLE { name | ALL } [ IN DATABASE database_name ]
SET configuration_parameter { TO | = } { value | DEFAULT }
ALTER ROLE { name | ALL } [ IN DATABASE database_name ]
SET configuration_parameter FROM CURRENT
ALTER ROLE { name | ALL } [ IN DATABASE database_name ]
RESET configuration_parameter
ALTER ROLE { name | ALL } [ IN DATABASE database_name ] RESET ALL
ALTER ROLE name RESOURCE QUEUE {queue_name | NONE}
ALTER ROLE name RESOURCE GROUP {group_name | NONE}
更多信息,請參見ALTER ROLE。
ALTER SCHEMA
改變模式的定義。
ALTER SCHEMA name RENAME TO newname
ALTER SCHEMA name OWNER TO newowner
更多信息,請參見ALTER SCHEMA。
ALTER SEQUENCE
改變序列生成器的定義。
ALTER SEQUENCE name [INCREMENT [ BY ] increment]
[MINVALUE minvalue | NO MINVALUE]
[MAXVALUE maxvalue | NO MAXVALUE]
[RESTART [ WITH ] start]
[CACHE cache] [[ NO ] CYCLE]
[OWNED BY {table.column | NONE}]
ALTER SEQUENCE name SET SCHEMA new_schema
更多信息,請參見ALTER SEQUENCE。
ALTER TABLE
改變表的定義。
ALTER TABLE [ONLY] name RENAME [COLUMN] column TO new_column
ALTER TABLE name RENAME TO new_name
ALTER TABLE name SET SCHEMA new_schema
ALTER TABLE [ONLY] name SET
DISTRIBUTED BY (column, [ ... ] )
| DISTRIBUTED RANDOMLY
| WITH (REORGANIZE=true|false)
ALTER TABLE [ONLY] name action [, ... ]
ALTER TABLE name
[ ALTER PARTITION { partition_name | FOR (RANK(number))
| FOR (value) } partition_action [...] ]
partition_action
更多信息,請參見ALTER TABLE。
ALTER TYPE
改變數據類型的定義。
ALTER TYPE name
OWNER TO new_owner | SET SCHEMA new_schema
更多信息,請參見ALTER TYPE。
ALTER USER
修改數據庫角色(用戶)的定義。
ALTER USER name RENAME TO newname
ALTER USER name SET config_parameter {TO | =} {value | DEFAULT}
ALTER USER name RESET config_parameter
ALTER USER name [ [WITH] option [ ... ] ]
更多信息,請參見ALTER USER。
ANALYZE
收集關于數據庫的數據。
ANALYZE [VERBOSE] [ROOTPARTITION [ALL] ]
[table [ (column [, ...] ) ]]
更多信息,請參見ANALYZE。
BEGIN
啟動事務塊。
BEGIN [WORK | TRANSACTION] [transaction_mode]
[READ ONLY | READ WRITE]
更多信息,請參見BEGIN 。
CHECKPOINT
強制事務記錄檢查點。
CHECKPOINT
更多信息,請參見CHECKPOINT。
CLOSE
關閉游標。
CLOSE cursor_name
更多信息,請參見CLOSE。
CLUSTER
根據索引對磁盤上的堆存儲表進行物理重新排序。不推薦使用該操作。
CLUSTER indexname ON tablename
CLUSTER tablename
CLUSTER
更多信息,請參見CLUSTER。
COMMENT
定義或者修改對一個對象的注釋。
COMMENT ON
{ TABLE object_name |
COLUMN table_name.column_name |
AGGREGATE agg_name (agg_type [, ...]) |
CAST (sourcetype AS targettype) |
CONSTRAINT constraint_name ON table_name |
CONVERSION object_name |
DATABASE object_name |
DOMAIN object_name |
FILESPACE object_name |
FUNCTION func_name ([[argmode] [argname] argtype [, ...]]) |
INDEX object_name |
LARGE OBJECT large_object_oid |
OPERATOR op (leftoperand_type, rightoperand_type) |
OPERATOR CLASS object_name USING index_method |
[PROCEDURAL] LANGUAGE object_name |
RESOURCE QUEUE object_name |
ROLE object_name |
RULE rule_name ON table_name |
SCHEMA object_name |
SEQUENCE object_name |
TABLESPACE object_name |
TRIGGER trigger_name ON table_name |
TYPE object_name |
VIEW object_name }
IS 'text'
更多信息,請參見COMMENT。
COMMIT
提交當前事務。
COMMIT [WORK | TRANSACTION]
更多信息,請參見COMMIT。
COPY
在文件和表之間拷貝數據。
COPY table [(column [, ...])] FROM {'file' | STDIN}
[ [WITH]
[BINARY]
[OIDS]
[HEADER]
[DELIMITER [ AS ] 'delimiter']
[NULL [ AS ] 'null string']
[ESCAPE [ AS ] 'escape' | 'OFF']
[NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
[CSV [QUOTE [ AS ] 'quote']
[FORCE NOT NULL column [, ...]]
[FILL MISSING FIELDS]
[[LOG ERRORS]
SEGMENT REJECT LIMIT count [ROWS | PERCENT] ]
COPY {table [(column [, ...])] | (query)} TO {'file' | STDOUT}
[ [WITH]
[ON SEGMENT]
[BINARY]
[OIDS]
[HEADER]
[DELIMITER [ AS ] 'delimiter']
[NULL [ AS ] 'null string']
[ESCAPE [ AS ] 'escape' | 'OFF']
[CSV [QUOTE [ AS ] 'quote']
[FORCE QUOTE column [, ...]] ]
[IGNORE EXTERNAL PARTITIONS ]
更多信息,請參見COPY 。
CREATE AGGREGATE
定義一個新的聚集函數。
CREATE [ORDERED] AGGREGATE name (input_data_type [ , ... ])
( SFUNC = sfunc,
STYPE = state_data_type
[, PREFUNC = prefunc]
[, FINALFUNC = ffunc]
[, INITCOND = initial_condition]
[, SORTOP = sort_operator] )
更多信息,請參見CREATE AGGREGATE。
CREATE CAST
定義一個新的CAST。
CREATE CAST (sourcetype AS targettype)
WITH FUNCTION funcname (argtypes)
[AS ASSIGNMENT | AS IMPLICIT]
CREATE CAST (sourcetype AS targettype) WITHOUT FUNCTION
[AS ASSIGNMENT | AS IMPLICIT]
更多信息,請參見CREATE CAST。
CREATE CONVERSION
定義一個新的編碼轉換。
CREATE [DEFAULT] CONVERSION name FOR source_encoding TO
dest_encoding FROM funcname
更多信息,請參見CREATE CONVERSION。
CREATE DATABASE
創建一個新的數據庫。
CREATE DATABASE name [ [WITH] [OWNER [=] dbowner]
[TEMPLATE [=] template]
[ENCODING [=] encoding]
[CONNECTION LIMIT [=] connlimit ] ]
更多信息,請參見CREATE DATABASE。
CREATE DOMAIN
定義一個新的域。
CREATE DOMAIN name [AS] data_type [DEFAULT expression]
[CONSTRAINT constraint_name
| NOT NULL | NULL
| CHECK (expression) [...]]
更多信息,請參見CREATE DOMAIN。
CREATE EXTENSION
在數據庫中注冊一個EXTENSION。
CREATE EXTENSION [ IF NOT EXISTS ] extension_name
[ WITH ] [ SCHEMA schema_name ]
[ VERSION version ]
[ FROM old_version ]
[ CASCADE ]
更多信息,請參見CREATE EXTENSION。
CREATE EXTERNAL TABLE
定義一張外部表。
CREATE [READABLE] EXTERNAL TABLE tablename
( columnname datatype [, ...] | LIKE othertable )
LOCATION ('ossprotocol')
FORMAT 'TEXT'
[( [HEADER]
[DELIMITER [AS] 'delimiter' | 'OFF']
[NULL [AS] 'null string']
[ESCAPE [AS] 'escape' | 'OFF']
[NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
[FILL MISSING FIELDS] )]
| 'CSV'
[( [HEADER]
[QUOTE [AS] 'quote']
[DELIMITER [AS] 'delimiter']
[NULL [AS] 'null string']
[FORCE NOT NULL column [, ...]]
[ESCAPE [AS] 'escape']
[NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
[FILL MISSING FIELDS] )]
[ ENCODING 'encoding' ]
[ [LOG ERRORS [INTO error_table]] SEGMENT REJECT LIMIT count
[ROWS | PERCENT] ]
CREATE WRITABLE EXTERNAL TABLE table_name
( column_name data_type [, ...] | LIKE other_table )
LOCATION ('ossprotocol')
FORMAT 'TEXT'
[( [DELIMITER [AS] 'delimiter']
[NULL [AS] 'null string']
[ESCAPE [AS] 'escape' | 'OFF'] )]
| 'CSV'
[([QUOTE [AS] 'quote']
[DELIMITER [AS] 'delimiter']
[NULL [AS] 'null string']
[FORCE QUOTE column [, ...]] ]
[ESCAPE [AS] 'escape'] )]
[ ENCODING 'encoding' ]
[ DISTRIBUTED BY (column, [ ... ] ) | DISTRIBUTED RANDOMLY ]
ossprotocol:
oss://oss_endpoint prefix=prefix_name
id=userossid key=userosskey bucket=ossbucket compressiontype=[none|gzip] async=[true|false]
ossprotocol:
oss://oss_endpoint dir=[folder/[folder/]...]/file_name
id=userossid key=userosskey bucket=ossbucket compressiontype=[none|gzip] async=[true|false]
ossprotocol:
oss://oss_endpoint filepath=[folder/[folder/]...]/file_name
id=userossid key=userosskey bucket=ossbucket compressiontype=[none|gzip] async=[true|false]
更多信息,請參見CREATE EXTERNAL TABLE。
CREATE FUNCTION
定義一個新的函數。
CREATE [OR REPLACE] FUNCTION name
( [ [argmode] [argname] argtype [ { DEFAULT | = } defexpr ] [, ...] ] )
[ RETURNS { [ SETOF ] rettype
| TABLE ([{ argname argtype | LIKE other table }
[, ...]])
} ]
{ LANGUAGE langname
| IMMUTABLE | STABLE | VOLATILE
| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
| [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINE
| COST execution_cost
| SET configuration_parameter { TO value | = value | FROM CURRENT }
| AS 'definition'
| AS 'obj_file', 'link_symbol' } ...
[ WITH ({ DESCRIBE = describe_function
} [, ...] ) ]
更多信息,請參見CREATE FUNCTION。
CREATE GROUP
定義一個新的數據庫角色。
CREATE GROUP name [ [WITH] option [ ... ] ]
更多信息,請參見CREATE GROUP。
CREATE INDEX
定義一個新的索引。
CREATE [UNIQUE] INDEX name ON table
[USING btree|bitmap|gist]
( {column | (expression)} [opclass] [, ...] )
[ WITH ( FILLFACTOR = value ) ]
[TABLESPACE tablespace]
[WHERE predicate]
AnalyticDB PostgreSQL版Serverless實例僅支持創建B-Tree類型索引。
更多信息,請參見CREATE INDEX。
CREATE LIBRARY
定義一個用戶自定義軟件表。
CREATE LIBRARY library_name LANGUAGE [JAVA] FROM oss_location OWNER ownername
CREATE LIBRARY library_name LANGUAGE [JAVA] VALUES file_content_hex OWNER ownername
更多信息,請參見CREATE LIBRARY。
CREATE OPERATOR
定義一個新的操作符。
CREATE OPERATOR name (
PROCEDURE = funcname
[, LEFTARG = lefttype] [, RIGHTARG = righttype]
[, 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。
CREATE RESOURCE QUEUE
定義一個新的資源隊列。
CREATE RESOURCE QUEUE name WITH (queue_attribute=value [, ... ])
更多信息,請參見CREATE RESOURCE QUEUE。
CREATE ROLE
定義一個新的數據庫角色(用戶或組)。
CREATE ROLE name [[WITH] option [ ... ]]
WHERE option can be:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CREATEUSER | NOCREATEUSER
| CREATEEXTTABLE | NOCREATEEXTTABLE
[ ( attribute='value'[, ...] ) ]
WHERE attributes and value are:
type='readable'|'writable'
protocol='gpfdist'|'http'
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
| IN ROLE rolename [, ...]
| ROLE rolename [, ...]
| ADMIN rolename [, ...]
| USER rolename [, ...]
| SYSID uid [, ...]
| RESOURCE QUEUE queue_name
| RESOURCE GROUP group_name
| [ DENY deny_point ]
| [ DENY BETWEEN deny_point AND deny_point]
下表列出了數據庫角色可使用的屬性。
用戶屬性 | 描述 |
CREATEDB | NOCREATEDB | 該用戶是否允許創建DB,默認為NOCREATEDB。 |
CREATEROLE | NOCREATEROLE | 該用戶是否允許創建用戶,默認為NOCREATEROLE。 |
INHERIT | NOINHERIT | 該用戶是否繼承所在組的權限,默認為INHERIT。 |
LOGIN | NOLOGIN | 該用戶是否有登錄權限。有登錄權限的ROLE概念上為USER,沒有的相當于為GROUP,用于權限繼承。默認為NOLOGIN。 |
CONNECTION LIMIT connlimit | 該用戶允許的連接數,默認為-1(無限制)。 |
CREATEEXTTABLE | NOCREATEEXTTABLE | 該用戶是否允許創建External Table。默認為NOCREATEEXTTABLE。 |
PASSWORD 'password' | 設置用戶登錄密碼。 |
ENCRYPTED | UNENCRYPTED | 登錄密碼是否加密。 |
VALID UNTIL 'timestamp' | 登錄密碼過期時間。 |
RESOURCE QUEUE queue_name | 指定該用戶所屬資源隊列名稱。 |
DENY {deny_interval | deny_point} | 在指定時間禁止該用戶登錄。 |
更多信息,請參見CREATE ROLE。
CREATE RULE
定義一個新的重寫規則。
CREATE [OR REPLACE] RULE name AS ON event
TO table [WHERE condition]
DO [ALSO | INSTEAD] { NOTHING | command | (command; command
...) }
更多信息,請參見CREATE RULE。
CREATE SCHEMA
定義一個新的SCHEMA。
CREATE SCHEMA schema_name [AUTHORIZATION username]
[schema_element [ ... ]]
CREATE SCHEMA AUTHORIZATION rolename [schema_element [ ... ]]
更多信息,請參見CREATE SCHEMA。
CREATE SEQUENCE
定義一個新的序列生成器。
CREATE [TEMPORARY | TEMP] SEQUENCE name
[INCREMENT [BY] value]
[MINVALUE minvalue | NO MINVALUE]
[MAXVALUE maxvalue | NO MAXVALUE]
[START [ WITH ] start]
[CACHE cache]
[[NO] CYCLE]
[OWNED BY { table.column | NONE }]
更多信息,請參見CREATE SEQUENCE。
CREATE TABLE
定義一個新的表。
CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE table_name (
[ { column_name data_type [ DEFAULT default_expr ]
[column_constraint [ ... ]
[ ENCODING ( storage_directive [,...] ) ]
]
| table_constraint
| LIKE other_table [{INCLUDING | EXCLUDING}
{DEFAULTS | CONSTRAINTS}] ...}
[, ... ] ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH ( storage_parameter=value [, ... ] )
[ ON COMMIT {PRESERVE ROWS | DELETE ROWS | DROP} ]
[ DISTRIBUTED BY (column, [ ... ] ) | DISTRIBUTED RANDOMLY ]
[ PARTITION BY partition_type (column)
[ SUBPARTITION BY partition_type (column) ]
[ SUBPARTITION TEMPLATE ( template_spec ) ]
[...]
( partition_spec )
| [ SUBPARTITION BY partition_type (column) ]
[...]
( partition_spec
[ ( subpartition_spec
[(...)]
) ]
)
目前Serverless版本不支持WITH子句,系統會根據數據類型自動選擇最優算法。
更多信息,請參見CREATE TABLE。
CREATE TABLE AS
從查詢的結果中定義一個新的表。
CREATE [ [GLOBAL | LOCAL] {TEMPORARY | TEMP} ] TABLE table_name
[(column_name [, ...] )]
[ WITH ( storage_parameter=value [, ... ] ) ]
[ON COMMIT {PRESERVE ROWS | DELETE ROWS | DROP}]
[TABLESPACE tablespace]
AS query
[DISTRIBUTED BY (column, [ ... ] ) | DISTRIBUTED RANDOMLY]
更多信息,請參見CREATE TABLE AS。
CREATE TYPE
定義一個新的類型。
CREATE TYPE name AS ( attribute_name data_type [, ... ] )
CREATE TYPE name AS ENUM ( 'label' [, ... ] )
CREATE TYPE name (
INPUT = input_function,
OUTPUT = output_function
[, RECEIVE = receive_function]
[, SEND = send_function]
[, TYPMOD_IN = type_modifier_input_function ]
[, TYPMOD_OUT = type_modifier_output_function ]
[, INTERNALLENGTH = {internallength | VARIABLE}]
[, PASSEDBYVALUE]
[, ALIGNMENT = alignment]
[, STORAGE = storage]
[, DEFAULT = default]
[, ELEMENT = element]
[, DELIMITER = delimiter] )
CREATE TYPE name
更多信息,請參見CREATE TYPE。
CREATE USER
定義一個默認帶有LOGIN權限的數據庫角色。
CREATE USER name [ [WITH] option [ ... ] ]
更多信息,請參見CREATE USER。
CREATE VIEW
定義一個新的視圖。
CREATE [OR REPLACE] [TEMP | TEMPORARY] VIEW name
[ ( column_name [, ...] ) ]
AS query
更多信息,請參見CREATE VIEW。
DEALLOCATE
取消分配一個預編譯的語句。
DEALLOCATE [PREPARE] name
更多信息,請參見DEALLOCATE。
DECLARE
定義一個游標。
DECLARE name [BINARY] [INSENSITIVE] [NO SCROLL] CURSOR
[{WITH | WITHOUT} HOLD]
FOR query [FOR READ ONLY]
更多信息,請參見DECLARE。
DELETE
從表中刪除行。
DELETE FROM [ONLY] table [[AS] alias]
[USING usinglist]
[WHERE condition | WHERE CURRENT OF cursor_name ]
更多信息,請參見DELETE。
DROP AGGREGATE
刪除聚集函數。
DROP AGGREGATE [IF EXISTS] name ( type [, ...] ) [CASCADE | RESTRICT]
更多信息,請參見DROP AGGREGATE。
DROP CAST
刪除一個CAST。
DROP CAST [IF EXISTS] (sourcetype AS targettype) [CASCADE | RESTRICT]
更多信息,請參見DROP CAST。
DROP CONVERSION
刪除一個轉換。
DROP CONVERSION [IF EXISTS] name [CASCADE | RESTRICT]
更多信息,請參見DROP CONVERSION。
DROP DATABASE
刪除一個數據庫。
DROP DATABASE [IF EXISTS] name
更多信息,請參見DROP DATABASE。
DROP DOMAIN
刪除一個域。
DROP DOMAIN [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP DOMAIN。
DROP EXTENSION
從數據庫中刪除一個擴展。
DROP EXTENSION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
更多信息,請參見DROP EXTENSION。
DROP EXTERNAL TABLE
刪除一個外部表定義。
DROP EXTERNAL [WEB] TABLE [IF EXISTS] name [CASCADE | RESTRICT]
更多信息,請參見DROP EXTERNAL TABLE。
DROP FUNCTION
刪除一個函數。
DROP FUNCTION [IF EXISTS] name ( [ [argmode] [argname] argtype
[, ...] ] ) [CASCADE | RESTRICT]
更多信息,請參見DROP FUNCTION。
DROP GROUP
刪除一個數據庫角色。
DROP GROUP [IF EXISTS] name [, ...]
更多信息,請參見DROP GROUP。
DROP INDEX
刪除一個索引。
DROP INDEX [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP INDEX。
DROP LIBRARY
刪除一個用戶定義軟件包。
DROP LIBRARY library_name
更多信息,請參見DROP LIBRARY。
DROP OPERATOR
刪除一個操作符。
DROP OPERATOR [IF EXISTS] name ( {lefttype | NONE} ,
{righttype | NONE} ) [CASCADE | RESTRICT]
更多信息,請參見DROP OPERATOR。
DROP OWNED
刪除數據庫角色所擁有的數據庫對象。
DROP OWNED BY name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP OWNED。
DROP RESOURCE QUEUE
刪除一個資源隊列。
DROP RESOURCE QUEUE queue_name
更多信息,請參見DROP RESOURCE QUEUE。
DROP ROLE
刪除一個數據庫角色。
DROP ROLE [IF EXISTS] name [, ...]
更多信息,請參見DROP ROLE。
DROP RULE
刪除一個重寫規則。
DROP RULE [IF EXISTS] name ON relation [CASCADE | RESTRICT]
更多信息,請參見DROP RULE。
DROP SCHEMA
刪除一個SCHEMA。
DROP SCHEMA [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP SCHEMA。
DROP SEQUENCE
刪除一個序列。
DROP SEQUENCE [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP SEQUENCE。
DROP TABLE
刪除一個表。
DROP TABLE [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP TABLE。
DROP TYPE
刪除一個數據類型。
DROP TYPE [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP TYPE。
DROP USER
刪除一個數據庫角色。
DROP USER [IF EXISTS] name [, ...]
更多信息,請參見DROP USER。
DROP VIEW
刪除一個視圖。
DROP VIEW [IF EXISTS] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見DROP VIEW。
END
提交當前事務。
END [WORK | TRANSACTION]
更多信息,請參見END。
EXECUTE
執行一個已經準備好的SQL語句。
EXECUTE name [ (parameter [, ...] ) ]
更多信息,請參見EXECUTE。
EXPLAIN
展示語句的查詢計劃。
EXPLAIN [ANALYZE] [VERBOSE] statement
更多信息,請參見EXPLAIN。
FETCH
使用游標獲取查詢結果的行。
FETCH [ forward_direction { FROM | IN } ] cursorname
更多信息,請參見FETCH 。
GRANT
定義一個訪問權限。
GRANT { {SELECT | INSERT | UPDATE | DELETE | REFERENCES |
TRIGGER | TRUNCATE } [,...] | ALL [PRIVILEGES] }
ON [TABLE] tablename [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT { {USAGE | SELECT | UPDATE} [,...] | ALL [PRIVILEGES] }
ON SEQUENCE sequencename [, ...]
TO { rolename | PUBLIC } [, ...] [WITH GRANT OPTION]
GRANT { {CREATE | CONNECT | TEMPORARY | TEMP} [,...] | ALL
[PRIVILEGES] }
ON DATABASE dbname [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT { EXECUTE | ALL [PRIVILEGES] }
ON FUNCTION funcname ( [ [argmode] [argname] argtype [, ...]
] ) [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT { USAGE | ALL [PRIVILEGES] }
ON LANGUAGE langname [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT { {CREATE | USAGE} [,...] | ALL [PRIVILEGES] }
ON SCHEMA schemaname [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT { CREATE | ALL [PRIVILEGES] }
ON TABLESPACE tablespacename [, ...]
TO {rolename | PUBLIC} [, ...] [WITH GRANT OPTION]
GRANT parent_role [, ...]
TO member_role [, ...] [WITH ADMIN OPTION]
GRANT { SELECT | INSERT | ALL [PRIVILEGES] }
ON PROTOCOL protocolname
TO username
更多信息,請參見GRANT。
INSERT
在表中創建新的行。
INSERT INTO table [( column [, ...] )]
{DEFAULT VALUES | VALUES ( {expression | DEFAULT} [, ...] )
[, ...] | query}
更多信息,請參見INSERT。
LOAD
加載或重新加載共享庫文件。
LOAD 'filename'
更多信息,請參見LOAD。
LOCK
鎖住一張表。
LOCK [TABLE] name [, ...] [IN lockmode MODE] [NOWAIT]
更多信息,請參見LOCK。
MOVE
放置一個游標。
MOVE [ forward_direction {FROM | IN} ] cursorname
更多信息,請參見MOVE。
PREPARE
準備一個執行的語句。
PREPARE name [ (datatype [, ...] ) ] AS statement
更多信息,請參見PREPARE。
REASSIGN OWNED
改變數據庫角色所擁有的數據庫對象的所有權。
REASSIGN OWNED BY old_role [, ...] TO new_role
更多信息,請參見REASSIGN OWNED。
REINDEX
重新構建索引。
REINDEX {INDEX | TABLE | DATABASE | SYSTEM} name
更多信息,請參見REINDEX。
RELEASE SAVEPOINT
銷毀一個之前定義過的SAVEPOINT。
RELEASE [SAVEPOINT] savepoint_name
更多信息,請參見RELEASE SAVEPOINT。
RESET
恢復系統配置參數的值為默認值。
RESET configuration_parameter
RESET ALL
更多信息,請參見RESET。
REVOKE
撤銷訪問權限。
REVOKE [GRANT OPTION FOR] { {SELECT | INSERT | UPDATE | DELETE
| REFERENCES | TRIGGER | TRUNCATE } [,...] | ALL [PRIVILEGES] }
ON [TABLE] tablename [, ...]
FROM {rolename | PUBLIC} [, ...]
[CASCADE | RESTRICT]
REVOKE [GRANT OPTION FOR] { {USAGE | SELECT | UPDATE} [,...]
| ALL [PRIVILEGES] }
ON SEQUENCE sequencename [, ...]
FROM { rolename | PUBLIC } [, ...]
[CASCADE | RESTRICT]
REVOKE [GRANT OPTION FOR] { {CREATE | CONNECT
| TEMPORARY | TEMP} [,...] | ALL [PRIVILEGES] }
ON DATABASE dbname [, ...]
FROM {rolename | PUBLIC} [, ...]
[CASCADE | RESTRICT]
REVOKE [GRANT OPTION FOR] {EXECUTE | ALL [PRIVILEGES]}
ON FUNCTION funcname ( [[argmode] [argname] argtype
[, ...]] ) [, ...]
FROM {rolename | PUBLIC} [, ...]
[CASCADE | RESTRICT]
REVOKE [GRANT OPTION FOR] {USAGE | ALL [PRIVILEGES]}
ON LANGUAGE langname [, ...]
FROM {rolename | PUBLIC} [, ...]
[ CASCADE | RESTRICT ]
REVOKE [GRANT OPTION FOR] { {CREATE | USAGE} [,...]
| ALL [PRIVILEGES] }
ON SCHEMA schemaname [, ...]
FROM {rolename | PUBLIC} [, ...]
[CASCADE | RESTRICT]
REVOKE [GRANT OPTION FOR] { CREATE | ALL [PRIVILEGES] }
ON TABLESPACE tablespacename [, ...]
FROM { rolename | PUBLIC } [, ...]
[CASCADE | RESTRICT]
REVOKE [ADMIN OPTION FOR] parent_role [, ...]
FROM member_role [, ...]
[CASCADE | RESTRICT]
更多信息,請參見REVOKE。
ROLLBACK
中止當前事務。
ROLLBACK [WORK | TRANSACTION]
更多信息,請參見ROLLBACK。
ROLLBACK TO SAVEPOINT
將當前事務回滾到某個SAVEPOINT。
ROLLBACK [WORK | TRANSACTION] TO [SAVEPOINT] savepoint_name
更多信息,請參見ROLLBACK TO SAVEPOINT。
SAVEPOINT
在當前事務定義一個新的savepoint。
SAVEPOINT savepoint_name
更多信息,請參見SAVEPOINT。
SELECT
從表或者視圖中檢索行。
[ WITH with_query [, ...] ]
SELECT [ALL | DISTINCT [ON (expression [, ...])]]
* | expression [[AS] output_name] [, ...]
[FROM from_item [, ...]]
[WHERE condition]
[GROUP BY grouping_element [, ...]]
[HAVING condition [, ...]]
[WINDOW window_name AS (window_specification)]
[{UNION | INTERSECT | EXCEPT} [ALL] select]
[ORDER BY expression [ASC | DESC | USING operator] [NULLS {FIRST | LAST}] [, ...]]
[LIMIT {count | ALL}]
[OFFSET start]
[FOR {UPDATE | SHARE} [OF table_name [, ...]] [NOWAIT] [...]]
更多信息,請參見SELECT。
SELECT INTO
從查詢結果中定義一個新的表。
[ WITH with_query [, ...] ]
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] [NULLS {FIRST | LAST}] [, ...]]
[LIMIT {count | ALL}]
[OFFSET start]
[FOR {UPDATE | SHARE} [OF table_name [, ...]] [NOWAIT]
[...]]
更多信息,請參見SELECT INTO。
SET
改變數據庫配置參數的值。
SET [SESSION | LOCAL] configuration_parameter {TO | =} value |
'value' | DEFAULT}
SET [SESSION | LOCAL] TIME ZONE {timezone | LOCAL | DEFAULT}
更多信息,請參見SET。
SET ROLE
設置當前會話當前角色的標識符。
SET [SESSION | LOCAL] ROLE rolename
SET [SESSION | LOCAL] ROLE NONE
RESET ROLE
更多信息,請參見SET ROLE。
SET SESSION AUTHORIZATION
設置會話角色標識符和當前會話當前角色的標識符。
SET [SESSION | LOCAL] SESSION AUTHORIZATION rolename
SET [SESSION | LOCAL] SESSION AUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION
更多信息,請參見SET SESSION AUTHORIZATION。
SET TRANSACTION
設置當前事務的特征。
SET TRANSACTION [transaction_mode] [READ ONLY | READ WRITE]
SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode
[READ ONLY | READ WRITE]
更多信息,請參見SET TRANSACTION。
SHOW
顯示當前系統配置參數的值。
SHOW configuration_parameter
SHOW ALL
更多信息,請參見SHOW。
START TRANSACTION
開始一個事務塊。
START TRANSACTION [SERIALIZABLE | READ COMMITTED | READ UNCOMMITTED]
[READ WRITE | READ ONLY]
更多信息,請參見START TRANSACTION。
TRUNCATE
清空表的所有行。
TRUNCATE [TABLE] name [, ...] [CASCADE | RESTRICT]
更多信息,請參見TRUNCATE。
UPDATE
更新表的行。
UPDATE [ONLY] table [[AS] alias]
SET {column = {expression | DEFAULT} |
(column [, ...]) = ({expression | DEFAULT} [, ...])} [, ...]
[FROM fromlist]
[WHERE condition | WHERE CURRENT OF cursor_name ]
更多信息,請參見UPDATE。
VACUUM
垃圾收集和選擇性分析數據庫。
VACUUM [FULL] [FREEZE] [VERBOSE] [table]
VACUUM [FULL] [FREEZE] [VERBOSE] ANALYZE
[table [(column [, ...] )]]
更多信息,請參見VACUUM。
VALUES
計算一組行。
VALUES ( expression [, ...] ) [, ...]
[ORDER BY sort_expression [ASC | DESC | USING operator] [, ...]]
[LIMIT {count | ALL}] [OFFSET start]
更多信息,請參見VALUES。