"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