On Wed, 2005-11-09 at 16:23, Jaime Casanova wrote: > On 11/9/05, Andrus <eetasoft@xxxxxxxxx> wrote: > > >> CREATE TABLE foo ( bar CHAR(10) PRIMARY KEY); > > >> > > >> Cluster locale is non-C. Database encoding is UTF-8. Postgres vers is 8.1 > > > > >Do this instead: > > > > >CREATE TABLE foo ( bar CHAR(10) NOT NULL ); > > >CREATE UNIQUE INDEX foo_bar ON foo(bar char_pattern_ops); > > > > Martijn, > > > > Thank you. I have CHAR columns and need a primary key also. So I tried the > > code > > > > CREATE TABLE foo ( bar CHAR(10) NOT NULL ); > > CREATE UNIQUE INDEX foo_bar ON foo(bar bpchar_pattern_ops); > > ALTER TABLE foo ADD PRIMARY KEY (bar); > > > > I found that adding primary key creates another index. > > > > How to create primary key without duplicate index on bar column ? > > > > Andrus. > > > > > > you can't. > postgresql implements primary keys creating unique indexes and not > null constraints on the pk columns. But, of course, you CAN delete that other index now that it's redundant. ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org