Passer au contenu principal

code. grind. sleep.

Étiquette: pg_catalog

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.

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.

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.