PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 10/05/2022 15:59:11

Mathieu76
Membre

ERROR avec l'automatic vacuum

Bonjour à tous,

j'ai récupéré une base en vrac, dans les logs je trouve un tas d'erreurs de vacuum, voir ci-dessous :

2022-05-10 15:57:14.868 CEST [149827] ERROR:  uncommitted xmin 2379118543 from before xid cutoff 2406937332 needs to be frozen
2022-05-10 15:57:14.868 CEST [149827] CONTEXT:  automatic vacuum of table "pzbxfr01.public.interface"
2022-05-10 15:57:14.880 CEST [149827] ERROR:  uncommitted xmin 2378179800 from before xid cutoff 2406937332 needs to be frozen
2022-05-10 15:57:14.880 CEST [149827] CONTEXT:  automatic vacuum of table "pzbxfr01.pg_catalog.pg_index"
2022-05-10 15:57:21.342 CEST [137579] LOG:  checkpoints are occurring too frequently (26 seconds apart)
2022-05-10 15:57:21.342 CEST [137579] HINT:  Consider increasing the configuration parameter "max_wal_size".
2022-05-10 15:57:31.570 CEST [149827] ERROR:  invalid page in block 363677 of relation base/16385/22977001
2022-05-10 15:57:31.570 CEST [149827] CONTEXT:  automatic vacuum of table "pzbxfr01.public.item_discovery"
2022-05-10 15:57:35.880 CEST [137625] ERROR:  could not access status of transaction 57
2022-05-10 15:57:35.880 CEST [137625] DETAIL:  Could not open file "pg_subtrans/0000": No such file or directory.
2022-05-10 15:57:35.880 CEST [137625] CONTEXT:  while inserting index tuple (78026,39) in relation "item_discovery_pkey"

J'ai également d'autres erreurs, voir ci-dessus.
Avez vous une idée pour corriger les problèmes rencontrés svp?
Merci.

Hors ligne

#2 11/05/2022 02:03:20

rjuju
Administrateur

Re : ERROR avec l'automatic vacuum

Bonjour,


Il s'agit très probablement de corruptions.  À part restaurer à partir d'une sauvegarde saine il n'y a malheureusement pas grand chose à faire.  Vous pouvez tester des VACUUM table par table, utiliser amcheck pour vérifier les index btree ou utiliser pg_checksums si vous avez activé les checksums et utilisez une version suffisamment récente de postgres pour voir l'étendue des dégats.


Il vous faudra également investiguer côté système / disque pour comprendre comment le problème a pu arriver afin de le corriger  pour vous assurer que cela n'arrive plus.

Hors ligne

#3 11/05/2022 11:14:58

Mathieu76
Membre

Re : ERROR avec l'automatic vacuum

Bonjour,
Le souci c'est que les dump sont foireux, et quand j'essaye d'en lancer un nouveau j'ai les erreurs ci-dessous :

pg_dump: error: Dumping the contents of table "item_discovery" failed: PQgetResult() failed.
pg_dump: error: Error message from server: ERROR:  invalid page in block 363677 of relation base/16385/22977001
pg_dump: error: The command was: COPY public.item_discovery (itemdiscoveryid, itemid, parent_itemid, key_, lastcheck, ts_delete) TO stdout;

Hors ligne

#4 11/05/2022 11:29:01

rjuju
Administrateur

Re : ERROR avec l'automatic vacuum

Vous voulez dire que toutes vos anciennes sauvegardes sont inutilisables car elles avaient échouées avec le même problème ?


Votre seul espoir est de contacter une société experte qui pourra essayer de récupérer ce qui est récupérable.  Vous avez une liste disponible à https://www.postgresql.org/support/prof … l_support/


Il serait également bon de mettre en place de la supervision et alerte sur vos instances, scripts de sauvegarde etc.

Hors ligne

Pied de page des forums