ALTER TABLE [ IF EXISTS ] { ONLY $name$ | $name$ [ * ] } $action$ [ , ... ] ALTER TABLE [ IF EXISTS ] { ONLY $name$ | $name$ [ * ] } RENAME [ COLUMN ] $column_name$ TO $new_column_name$ ALTER TABLE [ IF EXISTS ] { ONLY $name$ | $name$ [ * ] } RENAME CONSTRAINT $constraint_name$ TO $new_constraint_name$ ALTER TABLE [ IF EXISTS ] $name$ RENAME TO $new_name$ ALTER TABLE [ IF EXISTS ] $name$ SET SCHEMA $new_schema$ ALTER TABLE ALL IN TABLESPACE $name$ [ OWNED BY $role_name$ [ , ... ] ] SET TABLESPACE $new_tablespace$ [ NOWAIT ] ALTER TABLE [ IF EXISTS ] $name$ ATTACH PARTITION $partition_name$ { FOR VALUES $partition_bound_spec$ | DEFAULT } ALTER TABLE [ IF EXISTS ] $name$ DETACH PARTITION $partition_name$ [ CONCURRENTLY | FINALIZE ] where $action$ is: ADD [ COLUMN ] [ IF NOT EXISTS ] $column_name$ $data_type$ [ COLLATE $collation$ ] [ $column_constraint$ [ ... ] ] | DROP [ COLUMN ] [ IF EXISTS ] $column_name$ [ RESTRICT | CASCADE ] | | ALTER [ COLUMN ] $column_name$ [ SET DATA ] TYPE $data_type$ [ COLLATE $collation$ ] [ USING $expression$ ] | | ALTER [ COLUMN ] $column_name$ SET DEFAULT $expression$ | | ALTER [ COLUMN ] $column_name$ DROP DEFAULT | | ALTER [ COLUMN ] $column_name$ { SET | DROP } NOT NULL | | ALTER [ COLUMN ] $column_name$ DROP EXPRESSION [ IF EXISTS ] | | ALTER [ COLUMN ] $column_name$ ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( $sequence_options$ ) ] | | ALTER [ COLUMN ] $column_name$ { SET GENERATED { ALWAYS | BY DEFAULT } | SET $sequence_option$ | RESTART [ [ WITH ] $restart$ ] } [ ... ] | ALTER [ COLUMN ] $column_name$ DROP IDENTITY [ IF EXISTS ] | ALTER [ COLUMN ] $column_name$ SET STATISTICS $integer$ | ALTER [ COLUMN ] $column_name$ SET ( $attribute_option$ = $value$ [ , ... ] ) | ALTER [ COLUMN ] $column_name$ RESET ( $attribute_option$ [ , ... ] ) | ALTER [ COLUMN ] $column_name$ SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } | ALTER [ COLUMN ] $column_name$ SET COMPRESSION $compression_method$ | ADD $table_constraint$ [ NOT VALID ] | ADD $table_constraint_using_index$ | ALTER CONSTRAINT $constraint_name$ [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] | VALIDATE CONSTRAINT $constraint_name$ | DROP CONSTRAINT [ IF EXISTS ] $constraint_name$ [ RESTRICT | CASCADE ] | DISABLE TRIGGER [ $trigger_name$ | ALL | USER ] | ENABLE TRIGGER [ $trigger_name$ | ALL | USER ] | ENABLE REPLICA TRIGGER $trigger_name$ | ENABLE ALWAYS TRIGGER $trigger_name$ | DISABLE RULE $rewrite_rule_name$ | ENABLE RULE $rewrite_rule_name$ | ENABLE REPLICA RULE $rewrite_rule_name$ | ENABLE ALWAYS RULE $rewrite_rule_name$ | DISABLE ROW LEVEL SECURITY | ENABLE ROW LEVEL SECURITY | FORCE ROW LEVEL SECURITY | NO FORCE ROW LEVEL SECURITY | CLUSTER ON $index_name$ | SET WITHOUT CLUSTER | SET WITHOUT OIDS | SET ACCESS METHOD $new_access_method$ | SET TABLESPACE $new_tablespace$ | SET { LOGGED | UNLOGGED } | SET ( { $storage_parameter$ [ = $value$ ] } [ , ... ] ) | RESET ( $storage_parameter$ [ , ... ] ) | INHERIT $parent_table$ | NO INHERIT $parent_table$ | OF $type_name$ | NOT OF | OWNER TO { $new_owner$ | CURRENT_ROLE | CURRENT_USER | SESSION_USER } | REPLICA IDENTITY { DEFAULT | USING INDEX $index_name$ | FULL | NOTHING } where $partition_bound_spec$ is: IN ( $partition_bound_expr$ [ , ... ] ) | FROM ( { $partition_bound_expr$ | MINVALUE | MAXVALUE } [ , ... ] ) TO ( { $partition_bound_expr$ | MINVALUE | MAXVALUE } [ , ... ] ) | WITH ( MODULUS $numeric_literal$, REMAINDER $numeric_literal$ ) where $column_constraint$ is: [ CONSTRAINT $constraint_name$ ] { NOT NULL | NULL | CHECK ( $expression$ ) [ NO INHERIT ] | DEFAULT $default_expr$ | GENERATED ALWAYS AS ( $generation_expr$ ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( $sequence_options$ ) ] | UNIQUE [ NULLS [ NOT ] DISTINCT ] $column_index_parameters$ | PRIMARY KEY $column_index_parameters$ | REFERENCES $reftable$ [ ( $refcolumn$ ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE $referential_action$ ] [ ON UPDATE $referential_action$ ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] where $table_constraint$ is: [ CONSTRAINT $constraint_name$ ] { CHECK ( $expression$ ) [ NO INHERIT ] | UNIQUE [ NULLS [ NOT ] DISTINCT ] ( $column_name$ [ , ... ] ) $index_parameters$ | PRIMARY KEY ( $column_name$ [ , ... ] ) $index_parameters$ | EXCLUDE [ USING $index_method$ ] ( { $exclude_element$ WITH $operator$ } [ , ... ] ) $index_parameters$ [ WHERE ( $predicate$ ) ] | FOREIGN KEY ( $column_name$ [ , ... ] ) REFERENCES $reftable$ [ ( $refcolumn$ [ , ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE $referential_action$ ] [ ON UPDATE $referential_action$ ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] where $table_constraint_using_index$ is: [ CONSTRAINT $constraint_name$ ] { UNIQUE | PRIMARY KEY } USING INDEX $index_name$ [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] where $index_parameters$ is: [ INCLUDE ( $column_name$ [ , ... ] ) ] [ WITH ( { $storage_parameter$ [ = $value$ ] } [ , ... ] ) ] [ USING INDEX TABLESPACE $tablespace_name$ ] where $column_index_parameters$ is: USING INDEX TABLESPACE $tablespace_name$ where $exclude_element$ is: { $column_name$ | ( $expression$ ) } [ $opclass$ ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] where $referential_action$ is: { NO ACTION | RESTRICT | CASCADE | SET NULL [ ( $column_name$ [ , ... ] ) ] | SET DEFAULT [ ( $column_name$ [ , ... ] ) ] }