'\" t .\" Title: DROP PROCEDURE .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2021 .\" Manual: PostgreSQL 13.4 Documentation .\" Source: PostgreSQL 13.4 .\" Language: English .\" .TH "DROP PROCEDURE" "7" "2021" "PostgreSQL 13.4" "PostgreSQL 13.4 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" DROP_PROCEDURE \- remove a procedure .SH "SYNOPSIS" .sp .nf DROP PROCEDURE [ IF EXISTS ] \fIname\fR [ ( [ [ \fIargmode\fR ] [ \fIargname\fR ] \fIargtype\fR [, \&.\&.\&.] ] ) ] [, \&.\&.\&.] [ CASCADE | RESTRICT ] .fi .SH "DESCRIPTION" .PP \fBDROP PROCEDURE\fR removes the definition of an existing procedure\&. To execute this command the user must be the owner of the procedure\&. The argument types to the procedure must be specified, since several different procedures can exist with the same name and different argument lists\&. .SH "PARAMETERS" .PP IF EXISTS .RS 4 Do not throw an error if the procedure does not exist\&. A notice is issued in this case\&. .RE .PP \fIname\fR .RS 4 The name (optionally schema\-qualified) of an existing procedure\&. If no argument list is specified, the name must be unique in its schema\&. .RE .PP \fIargmode\fR .RS 4 The mode of an argument: IN or VARIADIC\&. If omitted, the default is IN\&. .RE .PP \fIargname\fR .RS 4 The name of an argument\&. Note that \fBDROP PROCEDURE\fR does not actually pay any attention to argument names, since only the argument data types are needed to determine the procedure\*(Aqs identity\&. .RE .PP \fIargtype\fR .RS 4 The data type(s) of the procedure\*(Aqs arguments (optionally schema\-qualified), if any\&. .RE .PP CASCADE .RS 4 Automatically drop objects that depend on the procedure, and in turn all objects that depend on those objects (see Section\ \&5.14)\&. .RE .PP RESTRICT .RS 4 Refuse to drop the procedure if any objects depend on it\&. This is the default\&. .RE .SH "EXAMPLES" .sp .if n \{\ .RS 4 .\} .nf DROP PROCEDURE do_db_maintenance(); .fi .if n \{\ .RE .\} .SH "COMPATIBILITY" .PP This command conforms to the SQL standard, with these PostgreSQL extensions: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The standard only allows one procedure to be dropped per command\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The IF EXISTS option .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The ability to specify argument modes and names .RE .SH "SEE ALSO" CREATE PROCEDURE (\fBCREATE_PROCEDURE\fR(7)), ALTER PROCEDURE (\fBALTER_PROCEDURE\fR(7)), DROP FUNCTION (\fBDROP_FUNCTION\fR(7)), DROP ROUTINE (\fBDROP_ROUTINE\fR(7))