DROP LIBRARY
Removes a UDx library from the database. The library file is deleted from managed directories on the Vertica nodes. The user-defined functions (UDFs) in the library are no longer available. See Developing User-Defined Extensions (UDxs) for details.
Syntax
DROP LIBRARY [ IF EXISTS ] [[database.]schema.]library [ CASCADE]
Arguments
IF EXISTS
|
Execute this command only if the library exists. Use this clause in SQL scripts to avoid errors on dropping non-existent objects before attempting to create them. |
[database.]schema
|
Database and schema. The default schema is |
library
|
The name of the library to drop, the same name used in CREATE LIBRARY to load the library. |
CASCADE
|
Also drop any functions that were defined using the library. DROP LIBRARY fails if CASCADE is omitted and one or more UDxs use the target library. |
Privileges
One of:
- Superuser
- UDXDEVELOPER and library owner (the user who created it with CREATE LIBRARY)
- UDXDEVELOPER and DROP grant on the library (see GRANT (Library))
Examples
A superuser can drop any library:
=> DROP LIBRARY ml.MyLib CASCADE;
Users with the UDXDEVELOPER role can drop libraries that they created:
=> GRANT UDXDEVELOPER TO alice, bob; GRANT ROLE => \c - alice; You are now connected as user "alice". -- Must enable the role before using: => SET ROLE UDXDEVELOPER; SET -- Create and use ml.mylib... -- Drop library and dependencies: DROP LIBRARY ml.mylib CASCADE; DROP LIBRARY
A user can be granted explicit permission to drop a library:
=> \c - alice You are now connected as user "alice". => GRANT DROP ON LIBRARY ml.mylib to bob; GRANT PRIVILEGE => \c - bob You are now connected as user "bob". => SET ROLE UDXDEVELOPER; SET => DROP LIBRARY ml.mylib cascade; DROP LIBRARY