What encoding did you initdb with? On Thu, Mar 02, 2006 at 04:59:39PM +0200, Anakreon Mendis wrote: > The table: > CREATE TABLE DILOSIS ( > DL_AEM INT NOT NULL, > DL_CODE VARCHAR(6) NOT NULL, > DL_YEAR INT NOT NULL, > DL_GRADE FLOAT(3) NOT NULL, > DL_LESTYPE INT NOT NULL, > DL_SEMESTER INT NOT NULL, > DL_DM INT NOT NULL, > DL_COEF FLOAT(3), --Syntelestis ptyxiou > DL_CAT_NORM BOOLEAN NOT NULL, --TRUE NORMAL, FALSE APALLAGI > DL_TEI INT NOT NULL, > DL_THERINO BOOLEAN NOT NULL > ); > ALTER TABLE DILOSIS ADD CONSTRAINT pk_dilosis PRIMARY KEY (DL_AEM, DL_CODE, DL_YEAR, DL_TEI, DL_SEMESTER); > > The table is empty and statements > stored in a file are executed with psql. > ===== Statements === > \encoding iso_8859_7 > delete from dilosis; > INSERT INTO DILOSIS VALUES(1, '??0100', 2000, 0.00, 1, 1, 5, 5.00, true, 1, true); > INSERT INTO DILOSIS VALUES(1, '??0100', 2000, 0.00, 1, 1, 5, 5.00, true, 1, true); > > The second insert fails with an error message: > psql:a.sql:4: ERROR: duplicate key violates unique constraint "pk_dilosis" > > The second insert is identical to the first one except > the DL_CODE value. > 1:??0100 (Gamma Epsilon ..) > 2:??0100 (Heta Ypsilon ..) > > I think what is hapening is that the two first > letters are ignored and the two values are found > identical since the postfix is 0100 for bouth of them. > > What can be done so the second instert does not fail? > > Anakreon > -- > Three words describe our society:homo homini lupus > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org > -- Jim C. Nasby, Sr. Engineering Consultant jnasby@xxxxxxxxxxxxx Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461