Page 1 sur 1

Codes d'erreurs avec psql

Posté : lun. 4 juin 2018 16:21
par Phil
Merci à Vincent pour sa question :

"Avec Oracle et sql*plus nous avons des codes d'erreur qui permettent plus facilement de chercher sur internet ou dans la base de connaissances. est-il possible de les avoir dans psql ?"

Réponse :
Oui. Il faut positionner le niveau de verbosité de psql en positionnant \set VERBOSITY verbose, par exemple dans .psqlrc mais c'est aussi possible en interactif.
Exemple :

Code : Tout sélectionner

select version();
                                                 version
----------------------------------------------------------------------------------------------------------
 PostgreSQL 9.6.9 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
(1 ligne)

create table t1(c1 int primary key);
CREATE TABLE

insert into t1 values(1);
INSERT 0 1

insert into t1 values(1);
ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « t1_pkey »
DÉTAIL : La clé « (c1)=(1) » existe déjà.

 \set VERBOSITY verbose

insert into t1 values(1);
ERREUR:  23505: la valeur d'une clé dupliquée rompt la contrainte unique « t1_pkey »
DÉTAIL : La clé « (c1)=(1) » existe déjà.
NOM DE SCHÉMA : postgres
NOM DE TABLE : t1
NOM DE CONTRAINTE : t1_pkey
EMPLACEMENT : _bt_check_unique, nbtinsert.c : 433

Le numéro d'erreur correspondant à une violation de contrainte unique apparaît ici clairement : 23505