- class="parameter">columnname%TYPE.
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
- | IN ROLE rolename [, ...]
- | IN GROUP rolename [, ...]
- | ROLE rolename [, ...]
- | ADMIN rolename [, ...]
- | USER rolename [, ...]
+ | IN ROLE role_name [, ...]
+ | IN GROUP role_name [, ...]
+ | ROLE role_name [, ...]
+ | ADMIN role_name [, ...]
+ | USER role_name [, ...]
| SYSID uid
- IN ROLE> rolename
+ IN ROLE> role_name
The IN ROLE clause lists one or more existing
- IN GROUP> rolename
+ IN GROUP> role_name
IN GROUP is an obsolete spelling of
- ROLE> rolename
+ ROLE> role_name
The ROLE clause lists one or more existing
- ADMIN> rolename
+ ADMIN> role_name
The ADMIN clause is like ROLE,
- USER> rolename
+ USER> role_name
The USER clause is an obsolete spelling of
The CREATE ROLE statement is in the SQL standard,
but the standard only requires the syntax
-CREATE ROLE name> [ WITH ADMIN rolename> ]
+CREATE ROLE name> [ WITH ADMIN role_name> ]
Multiple initial administrators, and all the other options of
CREATE ROLE, are
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
- EXECUTE PROCEDURE funcname ( arguments )
+ EXECUTE PROCEDURE function_name ( arguments )
CREATE TRIGGER creates a new trigger. The
trigger will be associated with the specified table and will
execute the specified function
- class="parameter">funcname when certain events occur.
+ class="parameter">function_name when certain events occur.
- funcname
+ function_name
A user-supplied function that is declared as taking no arguments
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
- | IN ROLE rolename [, ...]
- | IN GROUP rolename [, ...]
- | ROLE rolename [, ...]
- | ADMIN rolename [, ...]
- | USER rolename [, ...]
+ | IN ROLE role_name [, ...]
+ | IN GROUP role_name [, ...]
+ | ROLE role_name [, ...]
+ | ADMIN role_name [, ...]
+ | USER role_name [, ...]
| SYSID uid
-CREATE USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }
- SERVER servername
+CREATE USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
+ SERVER server_name
[ OPTIONS ( option 'value' [ , ... ] ) ]
- username
+ user_name
The name of an existing user that is mapped to foreign server.
- servername
+ server_name
The name of an existing server for which the user mapping is
DELETE FROM [ ONLY ] table [ [ AS ] alias ]
- [ USING usinglist ]
+ [ USING using_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
- usinglist
+ using_list
A list of table expressions, allowing columns from other tables
linkend="sql-from" endterm="sql-from-title"> of a
SELECT statement; for example, an alias for
the table name can be specified. Do not repeat the target table
- in the usinglist,
+ in the using_list,
unless you wish to set up a self-join.
-
+
-DROP CAST [ IF EXISTS ] (sourcetype AS targettype) [ CASCADE | RESTRICT ]
+DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ]
- sourcetype
+ source_type
- targettype
+ target_type
-DROP OPERATOR [ IF EXISTS ] name ( { lefttype | NONE } , { righttype | NONE } ) [ CASCADE | RESTRICT ]
+DROP OPERATOR [ IF EXISTS ] name ( { left_type | NONE } , { right_type | NONE } ) [ CASCADE | RESTRICT ]
- lefttype
+ left_type
The data type of the operator's left operand; write
- righttype
+ right_type
The data type of the operator's right operand; write
-DROP RULE [ IF EXISTS ] name ON relation [ CASCADE | RESTRICT ]
+DROP RULE [ IF EXISTS ] name ON table [ CASCADE | RESTRICT ]
- relation
+ table
The name (optionally schema-qualified) of the table or view that
-DROP SERVER [ IF EXISTS ] servername [ CASCADE | RESTRICT ]
+DROP SERVER [ IF EXISTS ] server_name [ CASCADE | RESTRICT ]
- servername
+ server_name
The name of an existing server.
-DROP TABLESPACE [ IF EXISTS ] tablespacename
+DROP TABLESPACE [ IF EXISTS ] tablespace_name
- tablespacename
+ tablespace_name
The name of a tablespace.
-DROP USER MAPPING [ IF EXISTS ] FOR { username | USER | CURRENT_USER | PUBLIC } SERVER servername
+DROP USER MAPPING [ IF EXISTS ] FOR { user_name | USER | CURRENT_USER | PUBLIC } SERVER server_name
- username
+ user_name
User name of the mapping. CURRENT_USER>
- servername
+ server_name
Server name of the user mapping.
-FETCH [ direction { FROM | IN } ] cursorname
+FETCH [ direction { FROM | IN } ] cursor_name
where direction can be empty or one of:
- cursorname
+ cursor_name
An open cursor's name.
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
- ON [ TABLE ] tablename [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON [ TABLE ] table_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )
[,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }
- ON [ TABLE ] tablename [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON [ TABLE ] table_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
- ON SEQUENCE sequencename [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON SEQUENCE sequence_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
- ON DATABASE dbname [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON DATABASE database_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
- ON FOREIGN DATA WRAPPER fdwname [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON FOREIGN DATA WRAPPER fdw_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
- ON FOREIGN SERVER servername [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON FOREIGN SERVER server_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
- ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON FUNCTION function_name ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
- ON LANGUAGE langname [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON LANGUAGE lang_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
- ON SCHEMA schemaname [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON SCHEMA schema_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { CREATE | ALL [ PRIVILEGES ] }
- ON TABLESPACE tablespacename [, ...]
- TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ ON TABLESPACE tablespace_name [, ...]
+ TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
-GRANT role [, ...] TO rolename [, ...] [ WITH ADMIN OPTION ]
+GRANT role_name [, ...] TO role_name [, ...] [ WITH ADMIN OPTION ]
-MOVE [ direction { FROM | IN } ] cursorname
+MOVE [ direction { FROM | IN } ] cursor_name
-PREPARE name [ ( datatype [, ...] ) ] AS statement
+PREPARE name [ ( data_type [, ...] ) ] AS statement
- datatype
+ data_type
The data type of a parameter to the prepared statement. If the
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
- ON [ TABLE ] tablename [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON [ TABLE ] table_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )
[,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }
- ON [ TABLE ] tablename [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON [ TABLE ] table_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
- ON SEQUENCE sequencename [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON SEQUENCE sequence_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
- ON DATABASE dbname [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON DATABASE database_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
- ON FOREIGN DATA WRAPPER fdwname [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON FOREIGN DATA WRAPPER fdw_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
- ON FOREIGN SERVER servername [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON FOREIGN SERVER server_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
- ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON FUNCTION function_name ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
- ON LANGUAGE langname [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON LANGUAGE lang_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
- ON SCHEMA schemaname [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON SCHEMA schema_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ CREATE | ALL [ PRIVILEGES ] }
- ON TABLESPACE tablespacename [, ...]
- FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ ON TABLESPACE tablespace_name [, ...]
+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ ADMIN OPTION FOR ]
- role [, ...] FROM rolename [, ...]
+ role_name [, ...] FROM role_name [, ...]
[ CASCADE | RESTRICT ]
-SET [ SESSION | LOCAL ] ROLE rolename
+SET [ SESSION | LOCAL ] ROLE role_name
SET [ SESSION | LOCAL ] ROLE NONE
RESET ROLE
This command sets the current user
identifier of the current SQL session to be
- class="parameter">rolename. The role name can be
+ class="parameter">role_name. The role name can be
written as either an identifier or a string literal.
After SET ROLE>, permissions checking for SQL commands
is carried out as though the named role were the one that had logged
- The specified rolename
+ The specified role_name
must be a role that the current session user is a member of.
(If the session user is a superuser, any role can be selected.)
-
+
SET SESSION AUTHORIZATION
-SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username
+SET [ SESSION | LOCAL ] SESSION AUTHORIZATION user_name
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION
This command sets the session user identifier and the current user
identifier of the current SQL session to be
- class="parameter">username. The user name can be
+ class="parameter">user_name. The user name can be
written as either an identifier or a string literal. Using this
command, it is possible, for example, to temporarily become an
unprivileged user and later switch back to being a superuser.
The SQL standard allows some other expressions to appear in place
- of the literal username, but these options
+ of the literal user_name, but these options
are not important in practice.
PostgreSQL
allows identifier syntax ("username"), which SQL
does not. SQL does not allow this command during a transaction;
UPDATE [ ONLY ] table [ [ AS ] alias ]
SET { column = { expression | DEFAULT } |
( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]
- [ FROM fromlist ]
+ [ FROM from_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
- fromlist
+ from_list
A list of table expressions, allowing columns from other tables
specified in the
endterm="sql-from-title"> of a SELECT
statement. Note that the target table must not appear in the
- fromlist>, unless you intend a self-join (in which
- case it must appear with an alias in the fromlist>).
+ from_list>, unless you intend a self-join (in which
+ case it must appear with an alias in the from_list>).
When a FROM> clause is present, what essentially happens
is that the target table is joined to the tables mentioned in the
- fromlist, and each output row of the join
+ from_list, and each output row of the join
represents an update operation for the target table. When using
FROM> you should ensure that the join
produces at most one output row for each row to be modified. In