Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 24/10/2016 08:04:13
- mortimer.pw
- Membre
Orphan temp table
Bonjour à tous,
Je suis sur un moteur 9.3.2 sous RedHat 4.1.2.
Suite à analyse des logs, j'ai des messages :
2016-10-24 08:25:09 EAT [4507]: [1-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_14"."tmpctrl" in database "geo"
2016-10-24 08:25:09 EAT [4507]: [2-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_11"."tmpctrl" in database "geo"
2016-10-24 08:26:09 EAT [4558]: [1-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_14"."tmpctrl" in database "geo"
2016-10-24 08:26:09 EAT [4558]: [2-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_11"."tmpctrl" in database "geo"
2016-10-24 08:27:09 EAT [4649]: [1-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_14"."tmpctrl" in database "geo"
2016-10-24 08:27:09 EAT [4649]: [2-1] user=,db= LOG: autovacuum: found orphan temp table "pg_temp_11"."tmpctrl" in database "geo"
En regardant les objets de la base, j'ai un paquet de pg_temp_??? et pg_toast_temp_??? (environ une vingtaine de chaque) :
geo=# \dnS
List of schemas
Name | Owner
--------------------+----------
geo | postgres
information_schema | postgres
jrn_local | postgres
pg_catalog | postgres
....
....
pg_temp_11 | postgres
pg_temp_14 | postgres
....
....
pg_toast | postgres
....
....
pg_toast_temp_11 | postgres
pg_toast_temp_14 | postgres
....
....
public | postgres
(41 rows)
Est-ce qu'il suffit de supprimer ces schémas ?
Y-a-t'il un risque (base en prod) ?
Comment ces schémas arrivent-ils ?
Pourquoi des pg_temp et des pg_toast_temp ?
Je sais qu'il y a eu quelques plantages du serveur, mais PostgreSQL redémarre toujours correctement (après suppression du postmaster.pid).
D'avance merci pour les réponses.
Hors ligne
#2 24/10/2016 08:25:52
- rjuju
- Administrateur
Re : Orphan temp table
Bonjour,
ces objets sont créés automatiquement par postgres lorsqu'il utilise des objets temporaires. Autovacuum lorsqu'il traite une base vérifie que la connexion associée à l'objet temporaire existe encore, et si ce n'est pas le cas (en cas de précédent crash par exemple), il affiche un message indiquant que l'objet associé est maintenant orphelin. Vous pouvez les supprimer manuellement, mais une erreur manuelle est toujours possible, et l'autovacuum finira par les supprimer de toutes façons, lorsqu'il fera un VACUUM FREEZE (traitement anti wraparound). Ne rien faire est à mon avis la meilleure solution.
Julien.
https://rjuju.github.io/
Hors ligne
#3 24/10/2016 09:19:46
- mortimer.pw
- Membre
Re : Orphan temp table
Ne rien faire, ça me va :-), merci Julien.
Hors ligne
Pages : 1