Caso você é como nós, usando o plsql para cuidar do seu banco de dados, uma das coisas mais na mão que o PostgreSQL lhe entrega de forma fácil e rápido é o help.
\help ou \h irá listar tudo que podes usar no psql
Ou melhor precisas de ajuda com um comando específico alter table, é somente digira \help alter table que a ajuda irá indicar como executar o comando.
Abaixo irei mostrar o vasto contido que vem junto com o seu postgreSQL.
postgres=# \help
Available help:
ABORT CREATE USER
ALTER AGGREGATE CREATE USER MAPPING
ALTER COLLATION CREATE VIEW
ALTER CONVERSION DEALLOCATE
ALTER DATABASE DECLARE
ALTER DEFAULT PRIVILEGES DELETE
ALTER DOMAIN DISCARD
ALTER EVENT TRIGGER DO
ALTER EXTENSION DROP ACCESS METHOD
ALTER FOREIGN DATA WRAPPER DROP AGGREGATE
ALTER FOREIGN TABLE DROP CAST
ALTER FUNCTION DROP COLLATION
ALTER GROUP DROP CONVERSION
ALTER INDEX DROP DATABASE
ALTER LANGUAGE DROP DOMAIN
ALTER LARGE OBJECT DROP EVENT TRIGGER
ALTER MATERIALIZED VIEW DROP EXTENSION
ALTER OPERATOR DROP FOREIGN DATA WRAPPER
ALTER OPERATOR CLASS DROP FOREIGN TABLE
ALTER OPERATOR FAMILY DROP FUNCTION
ALTER POLICY DROP GROUP
ALTER PROCEDURE DROP INDEX
ALTER PUBLICATION DROP LANGUAGE
ALTER ROLE DROP MATERIALIZED VIEW
ALTER ROUTINE DROP OPERATOR
ALTER RULE DROP OPERATOR CLASS
ALTER SCHEMA DROP OPERATOR FAMILY
ALTER SEQUENCE DROP OWNED
ALTER SERVER DROP POLICY
ALTER STATISTICS DROP PROCEDURE
ALTER SUBSCRIPTION DROP PUBLICATION
ALTER SYSTEM DROP ROLE
ALTER TABLE DROP ROUTINE
ALTER TABLESPACE DROP RULE
ALTER TEXT SEARCH CONFIGURATION DROP SCHEMA
ALTER TEXT SEARCH DICTIONARY DROP SEQUENCE
ALTER TEXT SEARCH PARSER DROP SERVER
ALTER TEXT SEARCH TEMPLATE DROP STATISTICS
ALTER TRIGGER DROP SUBSCRIPTION
ALTER TYPE DROP TABLE
ALTER USER DROP TABLESPACE
ALTER USER MAPPING DROP TEXT SEARCH CONFIGURATION
ALTER VIEW DROP TEXT SEARCH DICTIONARY
ANALYZE DROP TEXT SEARCH PARSER
BEGIN DROP TEXT SEARCH TEMPLATE
CALL DROP TRANSFORM
CHECKPOINT DROP TRIGGER
CLOSE DROP TYPE
CLUSTER DROP USER
COMMENT DROP USER MAPPING
COMMIT DROP VIEW
COMMIT PREPARED END
COPY EXECUTE
CREATE ACCESS METHOD EXPLAIN
CREATE AGGREGATE FETCH
CREATE CAST GRANT
CREATE COLLATION IMPORT FOREIGN SCHEMA
CREATE CONVERSION INSERT
CREATE DATABASE LISTEN
CREATE DOMAIN LOAD
CREATE EVENT TRIGGER LOCK
CREATE EXTENSION MOVE
CREATE FOREIGN DATA WRAPPER NOTIFY
CREATE FOREIGN TABLE PREPARE
CREATE FUNCTION PREPARE TRANSACTION
CREATE GROUP REASSIGN OWNED
CREATE INDEX REFRESH MATERIALIZED VIEW
CREATE LANGUAGE REINDEX
CREATE MATERIALIZED VIEW RELEASE SAVEPOINT
CREATE OPERATOR RESET
CREATE OPERATOR CLASS REVOKE
CREATE OPERATOR FAMILY ROLLBACK
CREATE POLICY ROLLBACK PREPARED
CREATE PROCEDURE ROLLBACK TO SAVEPOINT
CREATE PUBLICATION SAVEPOINT
CREATE ROLE SECURITY LABEL
CREATE RULE SELECT
CREATE SCHEMA SELECT INTO
CREATE SEQUENCE SET
CREATE SERVER SET CONSTRAINTS
CREATE STATISTICS SET ROLE
CREATE SUBSCRIPTION SET SESSION AUTHORIZATION
CREATE TABLE SET TRANSACTION
CREATE TABLE AS SHOW
CREATE TABLESPACE START TRANSACTION
CREATE TEXT SEARCH CONFIGURATION TABLE
CREATE TEXT SEARCH DICTIONARY TRUNCATE
CREATE TEXT SEARCH PARSER UNLISTEN
CREATE TEXT SEARCH TEMPLATE UPDATE
CREATE TRANSFORM VACUUM
CREATE TRIGGER VALUES
CREATE TYPE WITH
postgres=# \help alter table
Command: ALTER TABLE
Description: change the definition of a table
Syntax:
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
RENAME [ COLUMN ] column_name TO new_column_name
ALTER TABLE [ IF EXISTS ] [ ONLY ] 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
where action is one of:
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 }
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 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_USER | SESSION_USER }
REPLICA IDENTITY { DEFAULT | USING INDEX index_name | FULL | NOTHING }
and 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 )
and 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 index_parameters |
PRIMARY KEY 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 ]
and table_constraint is:
[ CONSTRAINT constraint_name ]
{ CHECK ( expression ) [ NO INHERIT ] |
UNIQUE ( 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 ]
and table_constraint_using_index is:
[ CONSTRAINT constraint_name ]
{ UNIQUE | PRIMARY KEY } USING INDEX index_name
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:
[ INCLUDE ( column_name [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ USING INDEX TABLESPACE tablespace_name ]
exclude_element in an EXCLUDE constraint is:
{ column_name | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]
URL: https://www.postgresql.org/docs/13/sql-altertable.html