Re: 2 novice questions - Mailing list pgsql-novice

From Chris Smith
Subject Re: 2 novice questions
Date
Msg-id 4.3.2.7.2.20010608085242.00af0d50@cooee.cybersydney.com.au
Whole thread Raw
In response to 2 novice questions  ("Sykora, Dale" <Dale.Sykora@COMPAQ.com>)
List pgsql-novice
Hey,

>Do primary keys need to be defined in all tables that are releated by the
>key or only in the primary one?

Only the primary one.

>For instance if I create tables to hold file info as shown below...
>
>CREATE TABLE filename (id SEQUENCE PRIMARY KEY, name TEXT UNIQUE);

Try...
create table filename (id serial primary key, name text unique);

serial is the datatyep to create a sequence.

>CREATE TABLE filestat (id INTEGER, size INTEGER, ts TIMESTAMP, md5
>CHAR(32));
>
>Does the filestat.id column need a PRIMARY KEY constraint?

You can use foreign keys in postgresql :)
Try this out...

create table filestat (id int not null constraint filestatid references
filename,size integer, ts timestamp, md5
char(32));

basically, id references filename(id) and this constraint is called
"filestatid" (you can rename this to something else of course).

http://techdocs.postgresql.org/techdocs/hackingreferentialintegrity.php <--
might give you a starting point for it all.

>Also, if I have a read only user, do I need to grant SELECT access on the
>sequence?
>GRANT SELECT ON filename_id_seq TO myuser;

Yes, you will.

HTH
----------------------
      Chris Smith
http://www.squiz.net/


pgsql-novice by date:

Previous
From: Chris Smith
Date:
Subject: Re: Again: How do I select primary/foreign keys?
Next
From: Hanusan
Date:
Subject: dump database fails