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.