Skip to content

Postgres support (functions) #63

@nene

Description

@nene
  • CREATE FUNCTION
    • OR REPLACE
    • parameters:
      • argmode: IN | OUT | INOUT | VARIADIC
      • optional argname
      • default values: DEFAULT expr, = expr
    • RETURNS type
    • RETURNS TABLE ( column_name column_type [, ...] )
    • LANGUAGE lang
    • TRANSFORM { FOR TYPE type_name } [, ... ]
    • WINDOW
    • { IMMUTABLE | STABLE | VOLATILE }
    • [ NOT ] LEAKPROOF
    • { CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT }
    • { [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER }
    • PARALLEL { UNSAFE | RESTRICTED | SAFE }
    • COST execution_cost
    • ROWS result_rows
    • SUPPORT support_function
    • SET configuration_parameter { TO value | = value | FROM CURRENT }
    • AS 'definition'
    • AS 'obj_file', 'link_symbol'
    • sql_body (when LANGUAGE SQL):
      • RETURN expr
      • BEGIN ATOMIC ... END
  • CREATE PROCEDURE
    • OR REPLACE
    • parameters the same as CREATE FUNCTION
    • LANGUAGE lang
    • TRANSFORM { FOR TYPE type_name } [, ... ]
    • { [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER }
    • SET configuration_parameter { TO value | = value | FROM CURRENT }
    • AS 'definition'
    • AS 'obj_file', 'link_symbol'
    • sql_body: BEGIN ATOMIC ... END
  • DROP FUNCTION
    • IF EXISTS
    • parameter list
    • CASCADE | RESTRICT
  • DROP PROCEDURE
    • IF EXISTS
    • parameter list
    • CASCADE | RESTRICT
  • ALTER FUNCTION
    • parameter list
    • action ... [RESTRICT]
    • actions:
      • CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
      • IMMUTABLE | STABLE | VOLATILE
      • [ NOT ] LEAKPROOF
      • [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
      • PARALLEL { UNSAFE | RESTRICTED | SAFE }
      • COST execution_cost
      • ROWS result_rows
      • SUPPORT support_function
      • SET configuration_parameter { TO | = } { value | DEFAULT }
      • SET configuration_parameter FROM CURRENT
      • RESET configuration_parameter
      • RESET ALL
    • RENAME TO new_name
    • OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    • SET SCHEMA new_schema
    • [ NO ] DEPENDS ON EXTENSION extension_name
  • ALTER PROCEDURE
    • parameter list
    • action ... [RESTRICT]
    • actions:
      • [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
      • SET configuration_parameter { TO | = } { value | DEFAULT }
      • SET configuration_parameter FROM CURRENT
      • RESET configuration_parameter
      • RESET ALL
    • RENAME TO new_name
    • OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    • SET SCHEMA new_schema
    • [ NO ] DEPENDS ON EXTENSION extension_name

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