Dar de baja una columna ST_Geometry

Si usa SQL exclusivamente para interaccionar con las tablas espaciales en PostgreSQL o SQLite, puede dar de baja la columna ST_Geometry antes de eliminar una tabla espacial. Si no lo hace, un registro quedará huérfano en la tabla de sistema de ST_Geometry.

Dar de baja una columna ST_Geometry en PostgreSQL

Antes de usar SQL para eliminar una tabla que contenga una columna ST_Geometry registrada, use la función st_unregister_spatial_column para darla de baja.

A continuación se muestra la sintaxis de la función st_unregister_spatial_column:

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

Pasos:
  1. Abra una ventana de comando o un shell.
  2. Inicie sesión en un editor SQL como propietario de la tabla y conéctese a la base de datos que contiene la tabla para la que desea dar de baja la columna ST_Geometry.

    En este ejemplo, la usuaria cleo se conecta a la base de datos spatdat.

    psql spatdat cleo

  3. En la ventana de comando de SQL, invoque la función st_unregister_spatial_column.

    Aquí, la columna geo de la tabla de puntos de referencia del esquema cleo se ha dado de baja:

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

    Solo el propietario de la tabla puede dar de baja la columna espacial.

Dar de baja una columna ST_Geometry en SQLite

Antes de usar SQL para eliminar una tabla que contenga una columna ST_Geometry registrada, use DropGeometryMetadata para darla de baja.

A continuación se muestra la sintaxis de DropGeometryMetadata:

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

Cuando se conecte a SQLite a través de un cliente de SQL, se conectará a main. Puede especificar main o usar NULL, que presupone que se está conectando a main.

Pasos:
  1. Abra un editor SQL y conéctese a la base de datos.
  2. Si aún no ha cargado la biblioteca ST_Geometry, hágalo ahora.
  3. Use DropGeometryMetadata para dar de baja la columna ST_Geometry.

    En este ejemplo, la columna ST_Geometry de la tabla hazardous_sites se ha dado de baja.

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

5/10/2014