Re: Dump qui plante (pg 8.3.4)

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>
Cc: postgresql <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Dump qui plante (pg 8.3.4)
Date: 2008-10-31 09:25:38
Message-ID: 490ACF12.600@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

philippe dhondt a écrit :
> Oups, autant pour moi, erreur d'aiguillage, je reposte désormais sur la
> liste.
>
> Je résume :
>
> il s'agit d'une db de plus de 7000 tables, et le dump plante en
> fournissant le message suivant :
>
> "mémoire partagée épuisée
> vous pourriez avoir besoin d'augmenter max_locks_per_transaction"
>
> Dont acte, je monte ce paramètre, mais :
>
> au delà de 90, le server refuse de démarrer, et ce SANS fournir le
> moindre message, ni en console, ni dans les logs ...
> en deçà de 90, le dump plante
>
> Petite constatation, sans doute sans pertinence, mais entre une valeur
> de 64 et une valeur de 90, le dump plante toujours au même endroit,

Ça ne m'étonne pas trop. Les verrous sont posés avant de commencer le
dump des tables. J'ai fait un test hier soir en créant une base à 8000
tables. Je n'ai pas le message d'erreur que vous indiquez. Je viens
aussi de monter à 90 pour max_lock_per_transactions, aucun soucis.

Quelle version de PostgreSQL utilisez-vous ?
Pouvez-vous nous envoyer votre fichier de configuration complet ?
Quelle est la taille de la base ?
D'autres clients sont-ils connectés en même temps que vous ?

> voici le log :
>
> 2008-10-30 17:01:21 CET ATTENTION: mémoire partagée épuisée
> 2008-10-30 17:01:21 CET ERREUR: mémoire partagée épuisée
> 2008-10-30 17:01:21 CET ASTUCE : Vous pourriez avoir besoin d'augmenter
> max_locks_per_transaction.
> 2008-10-30 17:01:21 CET INSTRUCTION : SELECT sequence_name, last_value,
> increment_by, CASE WHEN increment_by > 0 AND max_value =
> 9223372036854775807 THEN NULL WHEN increment_by < 0 AND max_value =
> -1 THEN NULL ELSE max_value END AS max_value, CASE WHEN
> increment_by > 0 AND min_value = 1 THEN NULL WHEN increment_by < 0
> AND min_value = -9223372036854775807 THEN NULL ELSE min_value END
> AS min_value, cache_value, is_cycled, is_called from "EPHC_titre_id_seq"
>

Il pourrait être intéressant d'ajouter le PID du processus dans les
logs, pour savoir si le SELECT est en rapport avec pg_dump.

> En console, la dernière ligne avant le message est :
> "Sauvegarde de la definition de la base de données."
>

Vous devriez aussi activer la trace de toutes les instructions SQL,
pg_dump en balance un certain nombre. Il serait intéressant de voir où
il s'arrête.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Marc Cousin 2008-10-31 19:41:02 Re: Dump qui plante (pg 8.3.4)
Previous Message philippe dhondt 2008-10-31 08:03:43 Dump qui plante (pg 8.3.4)