Riferimento tecnico indipendenteSito ufficiale
  • Software e servizi digitali
  • Database

23505

PostgreSQL 23505: violazione di un vincolo univoco

Verificata con fonti2 fontiRevisionata 22 ago 2026
Arriva un tecnico? Cosa deve mostrarti

Livello di rischio

Basso

Di solito può essere controllato senza strumenti specialistici.

Urgenza

Media

Risposta rapida

SQLSTATE 23505 corrisponde a unique_violation. Un INSERT o UPDATE ha tentato di creare una combinazione di valori in conflitto con un vincolo o indice univoco.

Sicurezza prima di tutto

Prima di continuare

  • Non eliminare righe o un vincolo univoco come soluzione generica. Identifica prima la regola nominata e il comportamento di conflitto desiderato.

Controlli sicuri che puoi eseguire

  • Acquisire tutti i campi dell’errore
  • Esaminare la regola di unicità indicata
  • Distinguere duplicato non valido e conflitto previsto

Lascia questi interventi a un professionista qualificato

  • Non tentare questo intervento professionale: Rivedere il percorso di scrittura e la concorrenza

Cosa deve saper giustificare un tecnico

Arriva un tecnico

Questi sono i passi che deve fare e mostrarti. Spuntali mentre lavora: se salta passaggi, non accettare il cambio del pezzo.

Non sono istruzioni per aprire o maneggiare da soli l’apparecchio. Sono i controlli che devono sostenere una conclusione tecnica.

  1. Rivedere il percorso di scrittura e la concorrenza

    Cosa faUno specialista database deve esaminare transazioni chiavi di idempotenza obiettivi di conflitto e regola aziendale quando 23505 si ripete sotto carico.

Prima di accettare un pezzo o una riparazione

Non ha ancora dimostrato nulla. Non accettare un cambio di pezzo solo per il codice.

Segui questi passaggi

Avviso: Segui l’ordine documentato. Un codice identifica il sistema interessato, ma da solo non dimostra quale componente sia guasto.

  1. Acquisire tutti i campi dell’errore

    Strumenti necessari

    Registra SQLSTATE 23505 insieme al nome del vincolo alla tabella e al dettaglio fornito dal driver. Non diagnosticare usando solo il numero.

    Oscura dati di produzione e credenziali prima di condividere i log.

    Evidenza: PostgreSQL current error codes appendix

  2. Esaminare la regola di unicità indicata

    Strumenti necessari

    Controlla quali colonne o espressioni protegge il vincolo o indice nominato e confronta la chiave proposta con la riga esistente.

    Non eliminare la regola di unicità soltanto per silenziare l’eccezione.

    Evidenza: PostgreSQL current error codes appendix

  3. Distinguere duplicato non valido e conflitto previsto

    Strumenti necessari

    Correggi alla fonte i dati non validi. Per operazioni idempotenti o upsert definisci con precisione DO NOTHING o DO UPDATE e il relativo obiettivo di conflitto.

    Una gestione troppo ampia può nascondere veri problemi di qualità dei dati.

    Evidenza: PostgreSQL current INSERT and ON CONFLICT documentation

Problema non risolto

Se l'errore persiste, fermati qui. Vedi cosa deve fare e mostrarti il tecnico.

Dove si applica questo codice

Un codice ha un significato preciso solo nel contesto corretto di prodotto e versione.

Ambito principale

Sistema
Software e servizi digitali
Marca
PostgreSQL
Tipo di prodotto
Database

Varianti note del codice

  • PostgreSQL 23505
  • SQLSTATE 23505
  • unique_violation

Cosa significa

L’errore appartiene alla classe 23 delle violazioni di integrità. La correzione dipende dal fatto che il duplicato sia un dato non valido una ripetizione idempotente o un conflitto previsto che richiede una politica ON CONFLICT esplicita.

Avvertenze e condizioni di arresto

  • Altoavvertenza editoriale

    Non eliminare righe o un vincolo univoco come soluzione generica. Identifica prima la regola nominata e il comportamento di conflitto desiderato.

    Evidenza: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation

Sintomi e cause

Cause probabili · in ordine

  • Violazione di un vincolo univocoConfermata

    PostgreSQL classifica SQLSTATE 23505 come unique_violation nella classe 23 delle violazioni di integrità.

    Evidenza: PostgreSQL current error codes appendix

  • INSERT o UPDATE è in conflitto con una chiave esistenteComune

    La riga proposta duplica una combinazione protetta da un vincolo o indice univoco.

    Evidenza: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation

  • Conflitto di concorrenza previsto senza politica esplicitaPossibile

    Quando scritture ripetute o simultanee sono valide può servire un’azione ON CONFLICT deliberata invece di un nuovo tentativo generico.

    Evidenza: PostgreSQL current INSERT and ON CONFLICT documentation

Tecnico virtuale

Il codice 23505 compare ancora dopo questi controlli?

Rispondi ad alcune domande per restringere la causa probabile e trovare il passo successivo più sicuro. È solo un orientamento e non sostituisce un professionista.

Fonti e riferimenti tecnici

  1. 1

    PostgreSQL current error codes appendix

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL current INSERT and ON CONFLICT documentation

    PostgreSQL Global Development Group · 2026 · official_doc

Fonti: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentationrevisionato 2026-08-22 · verificato

Questa scheda ti è stata utile?