Re: Best way to use indexes for partial match at beginning

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Andrus <eetasoft(at)online(dot)ee>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Best way to use indexes for partial match at beginning
Date: 2005-11-09 22:23:26
Message-ID: c2d9e70e0511091423i7a343471g6387875538b52064@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11/9/05, Andrus <eetasoft(at)online(dot)ee> 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.

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-11-09 22:32:03 Re: Best way to use indexes for partial match at
Previous Message Tom Lane 2005-11-09 22:22:47 Re: build errors on MacOSX