Aufheben der Registrierung einer ST_Geometry-Spalte

Wenn Sie SQL ausschließlich zum Interagieren mit den räumlichen Tabellen in PostgreSQL oder SQLite verwenden, können Sie die Registrierung der Spalte "ST_Geometry" aufheben, bevor Sie eine räumliche Tabelle löschen. Andernfalls verwaist ein Datensatz in der Systemtabelle "ST_Geometry".

Aufheben der Registrierung einer ST_Geometry-Spalte in PostgreSQL

Bevor Sie SQL zum Löschen einer Tabelle mit einer registrierten ST_Geometry-Spalte verwenden, heben Sie deren Registrierung mit der Funktion "st_unregister_spatial_column function" auf.

Nachfolgend finden Sie die Syntax für die Funktion "st_unregister_spatial_column":

st_unregister_spatial_column(
 '<database_name>',
 '<schema_name>',
 '<table_name>',
 '<spatial_column_name>'
);

Schritte:
  1. Öffnen Sie eine Eingabeaufforderung oder eine Shell-Eingabeaufforderung.
  2. Melden Sie sich bei einem SQL-Editor als Besitzer der Tabelle an, und stellen Sie eine Verbindung mit der Datenbank her, die die Tabelle enthält, für die die Registrierung der ST_Geometry-Spalte aufgehoben werden soll.

    In diesem Beispiel stellt der Benutzer "cleo" eine Verbindung mit der Datenbank "spatdat" her.

    psql spatdat cleo

  3. Rufen Sie die Funktion "st_unregister_spatial_column" über die SQL-Eingabeaufforderung auf.

    Hier wurde die Registrierung der Spalte "geo" der Wegpunkte-Tabelle im Schema "cleo" aufgehoben:

    SELECT sde.st_register_spatial_column(
     'spatdat',
     'cleo',
     'waypoints',
     'geo'
    );
    

    Die Registrierung der räumlichen Spalte kann nur vom Besitzer der Tabelle aufgehoben werden.

Aufheben der Registrierung einer ST_Geometry-Spalte in SQLite

Bevor Sie SQL zum Löschen einer Tabelle mit einer registrierten ST_Geometry-Spalte verwenden, heben Sie deren Registrierung mit "DropGeometryMetadata" auf.

Die Syntax für "DropGeometryMetadata" lautet wie folgt:

DropGeometryMetadata(
 <'main'|NULL>,
 <table_name>
);

Wenn Sie eine Verbindung zu SQLite über einen SQL-Client herstellen, stellen Sie eine main-Verbindung her. Sie können "main" oder "NULL" angeben, wobei davon ausgegangen wird, dass eine main-Verbindung hergestellt wird.

Schritte:
  1. Öffnen Sie einen SQL-Editor, und stellen Sie eine Verbindung mit der Datenbank her.
  2. Sie müssen die Bibliothek "ST_Geometry" laden, sofern dies nicht bereits erfolgt ist.
  3. Verwenden Sie "DropGeometryMetadata", um die Registrierung der Spalte "ST_Geometry" aufzuheben.

    In diesem Beispiel wurde die Registrierung der Spalte "ST_Geometry" in der Tabelle "hazardous_sites" aufgehoben.

    SELECT DropGeometryMetadata(
     'main',
     'hazardous_sites'
    );
    

5/10/2014