Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

451
Visualizações
Postgres lock_timeout cuando CREAR ÍNDICE ÚNICO CONCURRENTEMENTE

Tiene problemas para crear un índice único en una tabla. La declaración falla con el siguiente mensaje

 >CREATE UNIQUE INDEX CONCURRENTLY my_table_pkey_new ON my_table (new_id); ERROR: canceling statement due to lock timeout

No está claro por qué obtengo el tiempo de espera de bloqueo. La creación de índices concurrentes no debería bloquear la tabla.

También traté de aumentar el tiempo de espera de bloqueo pero sin éxito

 test=> show lock_timeout; lock_timeout -------------- 5min (1 row) test=> set lock_timeout to 99999999; SET test=> show lock_timeout; lock_timeout -------------- 5min (1 row)
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La creación de índices concurrentes no debería bloquear la tabla.

Por supuesto que bloquea la mesa. ¿Qué debería pasar si alguien intenta dejar caer la tabla mientras se indexaba? Simplemente lo bloquea en un modo que no entra en conflicto con INSERTAR, ACTUALIZAR o ELIMINAR. Pero sí entra en conflicto con otras operaciones, incluyendo VACÍO y (irónicamente, quizás) otras CREAR ÍNDICE CONCURRENTEMENTE. También requiere un bloqueo más fuerte que entra en conflicto con todo, pero solo mantiene ese bloqueo momentáneamente. Pero si ese bloqueo no está disponible de inmediato, puede expirar mientras lo espera.

 test=> show lock_timeout; lock_timeout -------------- 5min (1 row) test=> set lock_timeout to 99999999; SET test=> show lock_timeout; lock_timeout -------------- 5min (1 row)

¿Todo esto se ejecuta en una sola sesión, sin declaraciones intermedias, como sugeriría la sangría del código contiguo? Si es así, creo que debe estar ejecutando alguna versión modificada de PostgreSQL, ya que no creo que ninguna versión de la comunidad de PostgreSQL se comporte de esa manera.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda