Type: integer
Défaut: 0 (0ms)
Min: 0 (0ms)
Max: 2147483647 (2147483647ms)
Unité: milliseconds (ms)
Contexte: user
Redémarrer: false
Depuis: 9.3

Annule toute requête qui attend plus longtemps que la durée indiquée par ce paramètre lors de la tentative d'acquisition d'un verrou sur une table, un index, une ligne ou tout autre objet d'une base de données. La limite de temps s'applique séparément pour chaque tentative d'acquisition d'un verrou. La limite s'applique pour les demandes de verrous explicites (comme LOCK TABLE, ou SELECT FOR UPDATE sans NOWAIT) et pour ceux acquis implicitement. Si cette valeur est indiquée sans unité, elle est comprise comme un nombre de millisecondes. Une valeur de zéro (valeur par défaut) désactive ce comportement.

Contrairement à statement_timeout, ce délai peut seulement intervenir lors de l'attente de verrous. Notez que si statement_timeout est différent de zéro, il est plutôt inutile de configurer lock_timeout à la même valeur ou à une valeur plus importante puisque le délai sur la requête se déclenchera toujours avant. Si log_min_error_statement est configuré à ERROR ou plus bas, l'instruction qui dépasse ce délai sera tracé.

Configurer lock_timeout dans postgresql.conf n'est pas recommandé car cela affecterait toutes les sessions.

Recommandations [EN]

… but consider setting this per application or per query for any explicit locking attempts.

Commentaires