La FAQ de PostgreSQLConsultez toutes les FAQ

Nombre d'auteurs : 7, nombre de questions : 51, dernière mise à jour : 8 juillet 2009 

 
OuvrirSommaireSyntaxe SQL et structure de donnéesStructure du système
 
Sélectionnez

SELECT tablename FROM pg_tables WHERE tablename !~ '^pg_';
ou
SELECT relname FROM pg_class WHERE relname !~ '^pg_';


Dans l'outil psql, on utilise la commande \dt

Créé le 2005-05-13  par Google.be, Damien Griessinger (HpAlpha)
 
Sélectionnez

SELECT tablename FROM pg_tables WHERE schemaname = 'monschema';
ou
SELECT c.relname FROM pg_class c INNER JOIN pg_namespace n ON (c.relnamespace = n.oid) WHERE n.nspname = 'monschema'::text  AND c.relkind = 'r'::text;
Créé le 2005-05-13  par Damien Griessinger (HpAlpha)

En regardant la table systeme pg_proc :

 
Sélectionnez

SELECT * FROM pg_proc; 

On pauffine un peu, comme par exemple :

 
Sélectionnez

SELECT COUNT(*)>0 AS present FROM pg_proc WHERE proname='lafonctionquejerecherche'::text;

Cette requete retourne un booleen sur l'existence de la fonction.

Créé le 2005-05-13  par Damien Griessinger (HpAlpha)

Un index R-tree est utilisé pour l'indexation des données spatiales.
Un index de hachage ne permet pas les recherches par plage.
Un index B-tree peut seulement faire des recherches sur une dimension.
Les index R-tree peuvent traiter des données multi-dimensionnelles.
Par exemple, si un index R-tree peut être construit sur un attribut de type point, le système peut plus efficacement gérer les requêtes du type "Sélection de tous les points d'un rectangle".

L'article de référence qui décrit le système R-tree original est :
Guttman, A. "R-trees: A Dynamic Index Structure for Spatial Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.

Vous pouvez également trouver ce papier dans le livre de Stonebraker "Readings in Database Systems".

Les index R-tree intégrés peuvent prendre en charge les polygônes et les boîtes.
En théorie, les R-trees peuvent être étendus à un plus grand nombre de dimensions.
En pratique, l'extension des R-trees requiert pas mal de travail et nous n'avons pour le moment aucune documentation sur la façon de procéder.

Créé le 2005-05-15  par Communauté PostgreSQL

Pour changer le type de données d'une colonne, d'une version antérieur à 7.3 :

 
Sélectionnez

BEGIN;
 ALTER TABLE table ADD COLUMN nouvelle_colonne nouveau_type_de_donnees;
 UPDATE table SET nouvelle_colonne = CAST(ancienne_colonne AS nouveau_type_de_donnees);
 ALTER TABLE table DROP COLUMN ancienne_colonne;
COMMIT

;
Pour les version supérieur ou égale à 7.3 :

 
Sélectionnez
 
 ALTER TABLE table ALTER la_colonne TYPE nouveau_type_de_donnees;


Après on peut faire un VACUUM FULL table pour récupérer l'espace disque utilisé par les lignes expirées.

Avec une requête SQL :

 
Sélectionnez

SELECT version();
Créé le 2005-05-15  par Communauté PostgreSQL
 
Sélectionnez

DROP DATABASE mabase;

Si ce message d'erreur apparait:

 
Sélectionnez

Erreur SQL :
ERROR:  cannot drop the currently open database

In statement: 
DROP DATABASE "mabase"

La base est actuellement utilisée,
il faut déconnecter tous les utilisateurs et se connecter sur la base template1.
Après on peut dropper la base.

Créé le 2005-08-10  par KrysKool
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée.