DROP EXTENSION

This page documents a preview version. v2.23 Preview
Preview includes features under active development and is for development and testing only.
For production, use the latest stable version (v2024.1).

Synopsis

Use the DROP EXTENSION statement to remove an extension from the database.

Syntax

drop_extension ::= DROP EXTENSION [ IF EXISTS ] extension_name 
                   [ , ... ] [ CASCADE | RESTRICT ]

drop_extension

DROPEXTENSIONIFEXISTS,extension_nameCASCADERESTRICT

Semantics

  • An error is thrown if the extension does not exist unless IF EXISTS is used. Then, a notice is issued instead.
  • RESTRICT is the default, and it will not drop the extension if any objects depend on it.
  • CASCADE drops any objects that transitively depend on the extension.

Examples

DROP EXTENSION IF EXISTS cube;
NOTICE:  extension "cube" does not exist, skipping
CREATE EXTENSION cube;
CREATE EXTENSION earthdistance;
DROP EXTENSION IF EXISTS cube RESTRICT;
ERROR:  cannot drop extension cube because other objects depend on it
DETAIL:  extension earthdistance depends on function cube_out(cube)
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
DROP EXTENSION IF EXISTS cube CASCADE;
NOTICE:  drop cascades to extension earthdistance
DROP EXTENSION

See also