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 15/02/2018 17:29:43

dsamake
Membre

Taille

Bonjour,
J'ai un serveur (PostgreSQL 9.6 - PostGIS 2.2) qui doit faire un peu plus de 300 Go, mais il en fait 3,5 Téra. J'ai repéré la base de données qui en question. J'ai affiché la taille de tous les schémas de cette base puis la somme, je me retrouve avec une taille correcte ( 352 Go) .
J'ai lancé la commande " ls -lh " sur le répertoire de la base de données en question, je me retrouve avec des fichiers de 1go
-rw-------  1 postgres postgres  1,0G févr. 11 02:30 121037129.1045
-rw-------  1 postgres postgres  1,0G févr. 11 02:34 121037129.1046
Ayant 500Go de stockage disponible, y-aura-t-il un risque si je lance un vacuum full sur la base ?
Pensez-vous si le vacuum sera la solution à ce problème d'espace disque ?

Merci d'avance.


Diassé

Hors ligne

#2 15/02/2018 18:03:42

gleu
Administrateur

Re : Taille

Comment savez-vous qu'elle fat seulement 352 Go ?

Les fichiers que vous indiquez laissent supposer que vous avez une table (de relfilenode 121037129) qui fait plus d' 1 To.


Guillaume.

Hors ligne

#3 16/02/2018 10:09:00

dsamake
Membre

Re : Taille

gleu a écrit :

Comment savez-vous qu'elle fat seulement 352 Go ?

Les fichiers que vous indiquez laissent supposer que vous avez une table (de relfilenode 121037129) qui fait plus d' 1 To.

Merci pour votre réponse,
J'ai fait la somme des tailles de tous les schémas avec la requête ci-dessous.

SELECT schemaname, sum(pg_total_relation_size(schemaname||'.'||tablename)) as size
from pg_tables  group by schemaname order by size desc;


Diassé

Hors ligne

#4 16/02/2018 10:31:58

gleu
Administrateur

Re : Taille

Cette requête vous donne la taille globale des tables et index de chaque schéma. Par contre, ça ne prends pas en compte les vues matérialisées.

Il serait intéressant de savoir l'objet correspondant aux fichiers indiqués dans le premier commentaire. Pouvez-vous nous donner le résultat de la requête suivante :

SELECT relname, relkind, pg_table_size(oid) FROM pg_class WHERE relfilenode=121037129;

Guillaume.

Hors ligne

#5 16/02/2018 10:52:19

dsamake
Membre

Re : Taille

Le résultat de cette commande est vide !

 SELECT relname, relkind, pg_table_size(oid) FROM pg_class WHERE relfilenode=121037129;
 relname | relkind | pg_table_size 
---------+---------+---------------
(0 rows)

Avez vous une autre idée ?

Merci pour vos réponses.

Dernière modification par dsamake (16/02/2018 11:18:19)


Diassé

Hors ligne

#6 16/02/2018 23:09:53

gleu
Administrateur

Re : Taille

Vous l'avez bien exécuté sur la bonne base de données ?


Guillaume.

Hors ligne

#7 19/02/2018 12:23:22

dsamake
Membre

Re : Taille

Bonjour Guillaume,
Oui, je suis connecté sur la bonne base de données.
Merci pour votre aide.


Diassé

Hors ligne

#8 19/02/2018 12:40:39

gleu
Administrateur

Re : Taille

Essayez la requête suivante, mais ça ne devrait pas changer grand-chose au résultat :

SELECT relname, relkind, pg_table_size(oid) FROM pg_class WHERE oid=121037129;

Guillaume.

Hors ligne

#9 19/02/2018 13:13:07

dsamake
Membre

Re : Taille

Vous avez raison, je n'ai pas de sortie

bd_centre=# SELECT relname, relkind, pg_table_size(oid) FROM pg_class WHERE oid=121037129;
(0 rows)

Diassé

Hors ligne

#10 19/02/2018 15:51:53

gleu
Administrateur

Re : Taille

Autrement dit, cela semble être un objet orphelin. Voici comment je réglerais la situation : je créerais une nouvelle instance où je restaurerais la sauvegarde de cette base (et des autres bases de l'instance), puis, une fois certain que tout s'est bien passé, je supprimerais l'ancienne instance.


Guillaume.

Hors ligne

#11 19/02/2018 16:51:26

dsamake
Membre

Re : Taille

gleu a écrit :

Autrement dit, cela semble être un objet orphelin. Voici comment je réglerais la situation : je créerais une nouvelle instance où je restaurerais la sauvegarde de cette base (et des autres bases de l'instance), puis, une fois certain que tout s'est bien passé, je supprimerais l'ancienne instance.

Merci Guillaume,
je vais faire ce que vous m'avez conseillé. Ça veut dire que je risquerais d'avoir le même problème un jour.

Bonne journée.


Diassé

Hors ligne

#12 20/02/2018 11:42:36

gleu
Administrateur

Re : Taille

Oui. Généralement, les fichiers orphelins surviennent suite à un crash du serveur, crash matériel ou logiciel. Pas suite à une utilisation normale.


Guillaume.

Hors ligne

#13 26/02/2018 10:40:48

dsamake
Membre

Re : Taille

gleu a écrit :

Oui. Généralement, les fichiers orphelins surviennent suite à un crash du serveur, crash matériel ou logiciel. Pas suite à une utilisation normale.

Bonjour Guillaume,

J'ai crée une nouvelle instance puis sauvegardé et restauré sur la nouvelle instance, tout s'est bien passé, je n'ai plus de problème de fichiers orphelins. J'espère que je n'aurai plus ce même problème.
Merci pour votre aide.

Bonne journée.


Diassé

Hors ligne

Pied de page des forums