Désinscription d'une colonne ST_Geometry

Si vous utilisez exclusivement SQL pour interagir avec les tables spatiales dans PostgreSQL ou SQLite, vous pouvez désinscrire la colonne ST_Geometry avant de supprimer la table spatiale. Si vous ne le faites pas, un enregistrement sera orphelin dans la table système ST_Geometry.

Désinscrire une colonne ST_Geometry dans PostgreSQL

Avant d'utiliser SQL pour supprimer une table contenant une colonne ST_Geometry inscrite, utilisez la fonction st_unregister_spatial_column pour la désinscrire.

La syntaxe de la fonction st_unregister_spatial_column est la suivante :

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

Etapes :
  1. Ouvrez une invite ou un shell de commande.
  2. Connectez-vous à un éditeur SQL en tant que propriétaire de la table, puis à la base de données qui contient la table pour laquelle vous souhaitez désinscrire la colonne ST_Geometry.

    Dans cet exemple, l'utilisateur cleo se connecte à la base de données spatdat.

    psql spatdat cleo

  3. A l'invite SQL, appelez la fonction st_unregister_spatial_column.

    Ici, la colonne geo de la table waypoints dans la structure cleo est désinscrite :

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

    Seul le propriétaire de la table peut désinscrire la colonne spatiale.

Désinscrire une colonne ST_Geometry dans SQLite

Avant d'utiliser SQL pour supprimer une table contenant une colonne ST_Geometry inscrite, utilisez DropGeometryMetadata pour la désinscrire.

Voici la syntaxe à utiliser pour DropGeometryMetadata :

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

Lorsque vous vous connectez à SQLite via un client SQL, vous vous connectez à "main". Vous pouvez spécifier "main" ou utiliser "NULL", qui suppose que vous vous connectez à "main".

Etapes :
  1. Ouvrez un éditeur SQL et connectez-vous à votre base de données.
  2. Si vous n'avez pas encore chargé la bibliothèque ST_Geometry, effectuez cette opération.
  3. Utilisez DropGeometryMetadata pour désinscrire la colonne ST_Geometry.

    Dans cet exemple, la colonne ST_Geometry dans la table hazardous_sites est désinscrite.

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

5/10/2014