Skip to content

Postgres support (user defined types) #78

Open
@nene

Description

@nene

Domains

  • CREATE DOMAIN
    • name [AS] data_type
    • COLLATE collation
    • DEFAULT expression
    • domain_constraint [ ... ]:
      • CONSTRAINT constraint_name
      • NOT NULL
      • NULL
      • CHECK (expression)
  • DROP DOMAIN
    • IF EXISTS
    • name, ...
    • CASCADE | RESTRICT
  • ALTER DOMAIN
    • SET DEFAULT expression | DROP DEFAULT
    • { SET | DROP } NOT NULL
    • ADD domain_constraint
      • CONSTRAINT name
      • CHECK (...)
      • NOT NULL
      • [ NOT VALID ]
    • DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
    • RENAME CONSTRAINT constraint_name TO new_constraint_name
    • VALIDATE CONSTRAINT constraint_name
    • OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    • RENAME TO new_name
    • SET SCHEMA new_schema

Types

  • CREATE TYPE
    • AS ( attribute_name data_type [ COLLATE collation ] [, ... ] )
    • AS ENUM ( 'label' [, ... ] )
    • AS RANGE ( ... ):
      • SUBTYPE = subtype
      • SUBTYPE_OPCLASS = subtype_operator_class
      • COLLATION = collation
      • CANONICAL = canonical_function
      • SUBTYPE_DIFF = subtype_diff_function
      • MULTIRANGE_TYPE_NAME = multirange_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
      • ANALYZE = analyze_function
      • SUBSCRIPT = subscript_function
      • INTERNALLENGTH = { internallength | VARIABLE }
      • PASSEDBYVALUE
      • ALIGNMENT = alignment
      • STORAGE = storage
      • LIKE = like_type
      • CATEGORY = category
      • PREFERRED = preferred
      • ELEMENT = element
      • DELIMITER = delimiter
      • COLLATABLE = collatable
    • CREATE TYPE name;
  • DROP TYPE
    • IF EXISTS
    • name, ...
    • CASCADE | RESTRICT
  • ALTER TYPE
    • OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    • RENAME TO new_name
    • SET SCHEMA new_schema
    • RENAME ATTRIBUTE attribute_name TO new_attribute_name
      • CASCADE | RESTRICT
    • action, ...:
      • ADD ATTRIBUTE attribute_name data_type
        • COLLATE collation
        • CASCADE | RESTRICT
      • DROP ATTRIBUTE attribute_name
        • IF EXISTS
        • CASCADE | RESTRICT
      • ALTER ATTRIBUTE attribute_name
        • [ SET DATA ] TYPE data_type
        • COLLATE collation
        • CASCADE | RESTRICT
    • ADD VALUE new_enum_value
      • IF NOT EXISTS
      • { BEFORE | AFTER } neighbor_enum_value
    • RENAME VALUE existing_enum_value TO new_enum_value
    • SET ( property = value [, ... ] )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions