Removes a tablespace.

Synopsis

  1. DROP TABLESPACE [IF EXISTS] <tablespace_name>

Description

DROP TABLESPACE removes a tablespace from the system.

A tablespace can only be dropped by its owner or a superuser. The tablespace must be empty of all database objects before it can be dropped. It is possible that objects in other databases may still reside in the tablespace even if no objects in the current database are using the tablespace. Also, if the tablespace is listed in the temp_tablespaces setting of any active session, DROP TABLESPACE might fail due to temporary files residing in the tablespace.

Parameters

IF EXISTS

Do not throw an error if the tablespace does not exist. A notice is issued in this case.

tablespace_name

The name of the tablespace to remove.

Notes

Run DROP TABLESPACE during a period of low activity to avoid issues due to concurrent creation of tables and temporary objects. When a tablespace is dropped, there is a small window in which a table could be created in the tablespace that is currently being dropped. If this occurs, Greenplum Database returns a warning. This is an example of the DROP TABLESPACE warning.

  1. testdb=# DROP TABLESPACE mytest;
  2. WARNING: tablespace with oid "16415" is not empty (seg1 192.168.8.145:25433 pid=29023)
  3. WARNING: tablespace with oid "16415" is not empty (seg0 192.168.8.145:25432 pid=29022)
  4. WARNING: tablespace with oid "16415" is not empty
  5. DROP TABLESPACE

The table data in the tablespace directory is not dropped. You can use the ALTER TABLE command to change the tablespace defined for the table and move the data to an existing tablespace.

Examples

Remove the tablespace mystuff:

  1. DROP TABLESPACE mystuff;

Compatibility

DROP TABLESPACE is a Greenplum Database extension.

See Also

CREATE TABLESPACE, ALTER TABLESPACE

Parent topic: SQL Commands