Thread: confused newbie (to pg not db's)

confused newbie (to pg not db's)

From
mike
Date:
I have setup a database that I am the owner of, and I am trying to setup
constraints and it doesn't seem to be working

Example

- Table: public."Invoice_Header"

-- DROP TABLE public."Invoice_Header";

CREATE TABLE public."Invoice_Header"
( "Inv_ID" int4 NOT NULL DEFAULT nextval('public."Invoice
Header_ID_seq"'::text), "client_ID" int2 NOT NULL, payable_recievable varchar(5), "date_CREATED" date, "AMOUNT" money,
amount_paidmoney, date_paid date
 
) WITH OIDS;

I am trying to make Inv_ID a primary key as follows

alter table Invoice_Header ADD CONSTRAINT PK_inv PRIMARY KEY (Inv_ID)

which runs without error, but nothing changes

this is from psql with PG 7.3.2

any help appreciated



Re: confused newbie (to pg not db's)

From
Tom Lane
Date:
mike <mike@redtux1.uklinux.net> writes:
> CREATE TABLE public."Invoice_Header"                     ^^^^^^^^^^^^^^^^

> I am trying to make Inv_ID a primary key as follows

> alter table Invoice_Header ADD CONSTRAINT PK_inv PRIMARY KEY (Inv_ID)             ^^^^^^^^^^^^^^

> which runs without error, but nothing changes

I think you have tables named "Invoice_Header" and "invoice_header",
and the latter table is what's getting affected by your ALTER.  If you
are going to use mixed-case names then you have to be consistent about
double-quoting them all the time.
        regards, tom lane


Re: confused newbie (to pg not db's)

From
mike
Date:
On Thu, 2004-02-12 at 15:45, Tom Lane wrote:
> mike <mike@redtux1.uklinux.net> writes:
> > CREATE TABLE public."Invoice_Header"
>                       ^^^^^^^^^^^^^^^^
> 
> > I am trying to make Inv_ID a primary key as follows
> 
> > alter table Invoice_Header ADD CONSTRAINT PK_inv PRIMARY KEY (Inv_ID)
>               ^^^^^^^^^^^^^^
> 
> > which runs without error, but nothing changes
> 
> I think you have tables named "Invoice_Header" and "invoice_header",
> and the latter table is what's getting affected by your ALTER.  If you
> are going to use mixed-case names then you have to be consistent about
> double-quoting them all the time.
> 
>             regards, tom lane
> 


I worked out what was happening - I was missing the ;

Not helped by pgaccess and pgadmin not working right in different ways

> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>