Oups... des tablespaces imbriqués

Imbriquer des tablespaces n’a pas vraiment de sens dans PostgreSQL surtout si on veut se prendre la tête avec des montages dans tous les sens… Mais bon c’est permis, car PostgreSQL utilise uniquement les liens symboliques dans $PGDATA/pg_tblspc pour accéder au contenu des tablespaces. ...

2013-04-06 · 2 min

Could not open relation with oid N

On peut parfois trouver cet étrange message d’erreur dans les traces de PostgreSQL (N étant un nombre) ou lors de l’exécution d’une requête : ERROR: could not open relation with OID N Si on recherche ce message dans les mailing-lists du projet, on peut facilement conclure que la base de données est corrompue, qu’il y a des problèmes matériels et que la sécurité des données est en péril. Et bien, ce n’est pas forcément le cas : obtenir ce message peut être tout à fait normal....

2011-08-04 · 4 min

Retrouver un trigger à partir du nom de la fonction associée

Ici encore, tout est dans le catalogue système de PostgreSQL, il suffit de regarder dans la table pg_trigger. ...

2011-04-07 · 1 min

pg_class.reltuples n'est qu'une approximation du nombre de lignes

Dans le catalogue de PostgreSQL, qui donne plein d’information sur le cluster et la base de données, la table pg_class regroupe les informations sur les tables, les séquences, les index, tout ce qui contient des colonnes, appelé relation. L’un des champs disponibles est reltuples, il contient le nombre approximatif de lignes dans une relation. C’est approximatif, ainsi ce n’est pas un donnée sure… La preuve par l’exemple. ...

2011-03-14 · 2 min

Voir tous les champs d'une table

Avec PostgreSQL, on peut utiliser la requête suivante pour obtenir la taille de chacune des bases de données d’un cluster : SELECT datname AS base, pg_size_pretty(pg_database_size(oid)) AS taille FROM pg_database; ...

2011-02-25 · 3 min