PostgreSQL Syntax

PostgreSQL Syntax

To check the syntax of all PostgreSQL commands, one can take the help of the HELP command by following the below steps.

 

After the successful installation of PostgreSQL, open the SQL.

Program Files > PostgreSQL 9.2 > SQL Shell(psql)

 

To see the syntax of a specific command.

Command: postgres-# \help &<command_name>

 

PostgreSQL commands:

A list of all PostgreSQL commands along with their syntax can be found below.

 

COMMAND SYNTAX
ABORT

command

ABORT [ WORK | TRANSACTION ]
ALTER AGGREGATE

command

ALTER AGGREGATE name ( type ) RENAME TO new_name

ALTER AGGREGATE name ( type ) OWNER TO new_owner

ALTER CONVERSION

command

ALTER CONVERSION name RENAME TO new_name

ALTER CONVERSION name OWNER TO new_owner

ALTER DATABASE

command

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

command

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

command

ALTER FUNCTION name ( [ type [, …] ] ) RENAME TO new_name

ALTER FUNCTION name ( [ type [, …] ] ) OWNER TO new_owner

ALTER GROUP

command

ALTER GROUP groupname ADD USER username [, … ]

ALTER GROUP groupname DROP USER username [, … ]

ALTER GROUP groupname RENAME TO new_name

ALTER INDEX

command

ALTER INDEX name OWNER TO new_owner

ALTER INDEX name SET TABLESPACE indexspace_name

ALTER INDEX name RENAME TO new_name

ALTER LANGUAGE

command

ALTER LANGUAGE name RENAME TO new_name
ALTER OPERATOR

command

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

OWNER TO new_owner

ALTER OPERATOR CLASS

command

ALTER OPERATOR CLASS name USING index_method RENAME TO new_name

ALTER OPERATOR CLASS name USING index_method OWNER TO new_owner

ALTER SCHEMA

command

ALTER SCHEMA name RENAME TO new_name

ALTER SCHEMA name OWNER TO new_owner

ALTER SEQUENCE

command

ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]

[ MINVALUE minvalue | NO MINVALUE ]

[ MAXVALUE maxvalue | NO MAXVALUE ]

[ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

ALTER TABLE

command

ALTER TABLE [ ONLY ] name [ * ]

action [, … ]

ALTER TABLE [ ONLY ] name [ * ]

RENAME [ COLUMN ] column TO new_column

ALTER TABLE name

RENAME TO new_name

ALTER

TABLESPACE

command

ALTER TABLESPACE name RENAME TO new_name

ALTER TABLESPACE name OWNER TO new_owner

ALTER TRIGGER

command

ALTER TRIGGER name ON table RENAME TO new_name
ALTER TYPE

command

ALTER TYPE name OWNER TO new_owner
ALTER USER

command

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

ANALYZE

command

ANALYZE [ VERBOSE ] [ table [ (column [, …] ) ] ]
BEGIN

command

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, …] ]
CHECKPOINT command CHECKPOINT
CLOSE

command

CLOSE name
CLUSTER

command

CLUSTER index_name ON table_name

CLUSTER table_name

CLUSTER

COMMIT

command

COMMIT [ WORK | TRANSACTION ]
COPY

command

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

command

CREATE AGGREGATE name (

BASETYPE = input_data_type,

SFUNC = sfunc,

STYPE = state_data_type

[ , FINALFUNC = ffunc ]

[ , INITCOND = initial_condition ]

)

CREATE CAST

command

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

command

CREATE CONSTRAINT TRIGGER name

AFTER events ON

table_name constraint attributes

FOR EACH ROW EXECUTE PROCEDURE func_name ( args )

CREATE CONVERSION

command

CREATE [DEFAULT] CONVERSION name

FOR source_encoding TO dest_encoding FROM func_name

CREATE DATABASE

command

CREATE DATABASE name

[ [ WITH ] [ OWNER [=] db_owner ]

[ TEMPLATE [=] template ]

[ ENCODING [=] encoding ]

[ TABLESPACE [=] tablespace ] ]

CREATE DOMAIN

command

CREATE DOMAIN name [AS] data_type

[ DEFAULT expression ]

[ constraint [ … ] ]

CREATE FUNCTION

command

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

command

CREATE GROUP name [ [ WITH ] option [ … ] ]

Where option can be:

SYSID gid

| USER username [, …]

CREATE INDEX

command

CREATE [ UNIQUE ] INDEX name ON table [ USING method ]

( { column | ( expression ) } [ opclass ] [, …] )

[ TABLESPACE tablespace ]

[ WHERE predicate ]

CREATE LANGUAGE

command

CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name

HANDLER call_handler [ VALIDATOR val_function ]

CREATE OPERATOR

command

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

command

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 RULE

command

CREATE [ OR REPLACE ] RULE name AS ON event

TO table [ WHERE condition ]

DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command … ) }

CREATE SCHEMA

command

CREATE SCHEMA schema_name

[ AUTHORIZATION username ] [ schema_element [ … ] ]

CREATE SCHEMA AUTHORIZATION username

[ schema_element [ … ] ]

CREATE SEQUENCE

command

CREATE [ TEMPORARY | TEMP ] SEQUENCE name

[ INCREMENT [ BY ] increment ]

[ MINVALUE minvalue | NO MINVALUE ]

[ MAXVALUE maxvalue | NO MAXVALUE ]

[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

CREATE TABLE

command

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 ]

CREATE TABLE AS

command

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name

[ (column_name [, …] ) ] [ [ WITH | WITHOUT ] OIDS ]

AS query

CREATE TABLESPACE

command

CREATE TABLESPACE tablespace_name [ OWNER username ] LOCATION ‘directory’
CREATE TRIGGER

command

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR … ] }

ON table [ FOR [ EACH ] { ROW | STATEMENT } ]

EXECUTE PROCEDURE func_name ( arguments )

CREATE TYPE

command

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

command

CREATE USER name [ [ WITH ] option [ … ] ]
CREATE VIEW

command

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

command

DEALLOCATE [ PREPARE ] plan_name
DECLARE

command

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]

CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

[ FOR { READ ONLY | UPDATE [ OF column [, …] ] } ]

DELETE

command

DELETE FROM [ ONLY ] table [ WHERE condition ]
DROP AGGREGATE

command

DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ]
DROP CAST

command

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

command

DROP CONVERSION name [ CASCADE | RESTRICT ]
DROP DATABASE

command

DROP DATABASE name
DROP DOMAIN

command

DROP DOMAIN name [, …] [ CASCADE | RESTRICT ]
DROP FUNCTION

command

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

command

DROP GROUP name
DROP INDEX

command

DROP INDEX name [, …] [ CASCADE | RESTRICT ]
DROP LANGUAGE

command

DROP [ PROCEDURAL ] LANGUAGE name [ CASCADE | RESTRICT ]
DROP OPERATOR

command

DROP OPERATOR name ( { left_type | NONE } , { right_type | NONE } )

[ CASCADE | RESTRICT ]

DROP OPERATOR CLASS

command

DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ]
DROP RULE

command

DROP RULE name ON relation [CASCADE | RESTRICT ]
DROP SCHEMA

command

DROP SCHEMA name [, …] [ CASCADE | RESTRICT ]
DROP SEQUENCE

command

DROP SEQUENCE name [, …] [ CASCADE | RESTRICT ]
DROP TABLE

command

DROP TABLE name [, …] [ CASCADE | RESTRICT ]
DROP TABLESPACE

command

DROP TABLESPACE tablespace_name
DROP TRIGGER

command

DROP TRIGGER name ON table [ CASCADE | RESTRICT ]
DROP TYPE

command

DROP TYPE name [, …] [ CASCADE | RESTRICT ]
DROP USER

command

DROP USER name
DROP VIEW

command

DROP VIEW name [, …] [ CASCADE | RESTRICT ]
END

command

END [ WORK | TRANSACTION ]
EXECUTE

command

EXECUTE plan_name [ (parameter [, …] ) ]
EXPLAIN

command

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement
FETCH

command

FETCH [ direction { FROM | IN } ] cursor_name
INSERT

command

INSERT INTO table [ ( column [, …] ) ]

{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, …] ) | query }

LISTEN

command

LISTEN name
LOAD

command

LOAD ‘filename’
LOCK

command

LOCK [ TABLE ] name [, …] [ IN lock_mode MODE ] [ NOWAIT ]
MOVE

command

MOVE [ direction { FROM | IN } ] cursor_name
NOTIFY

command

NOTIFY name
PREPARE

command

PREPARE plan_name [ (data_type [, …] ) ] AS statement
REINDEX

command

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

command

RESET name

RESET ALL

ROLLBACK

command

ROLLBACK [ WORK | TRANSACTION ]
ROLLBACK TO SAVEPOINT

command

ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name
SAVEPOINT

command

SAVEPOINT savepoint_name
SELECT

command

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 [, …] ] ]

SELECT INTO

command

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

command

SET [ SESSION | LOCAL ] name { TO | = } { value | ‘value’ | DEFAULT }

SET [ SESSION | LOCAL ] TIME ZONE { time_zone | LOCAL | DEFAULT }

SET CONSTRAINTS

command

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

command

SET TRANSACTION transaction_mode [, …]

SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, …]

SHOW

command

SHOW name

SHOW ALL

START TRANSACTION

command

START TRANSACTION [ transaction_mode [, …] ]
TRUNCATE TABLE

command

TRUNCATE [ TABLE ] name
UPDATE

command

UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, …]

[ FROM from_list ]

[ WHERE condition ]