create_procedure ::= CREATE [ OR REPLACE ] PROCEDURE procedure_name ( [ parameter_list ] ) LANGUAGE language_name AS procedure_body procedure_name ::= [schema.]name parameter_list ::= parameter [, ...] parameter ::= [ parameter_mode ] [ parameter_name ] parameter_type [ DEFAULT default_value ] parameter_mode ::= IN | OUT | INOUT language_name ::= plpgsql | sql | c | internal procedure_body ::= 'definition' | $$definition$$ | $tag$definition$tag$
CREATE PROCEDURE
CREATE OR REPLACE PROCEDURE [schema.]procedure_name( parameter_name parameter_type[ DEFAULT default_value][, ...] ) LANGUAGE language_name AS $tag$procedure_body$tag$;
CREATE OR REPLACE PROCEDURE
DROP PROCEDURE IF EXISTS procedure_name(parameter_types);