sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #74889
Re: pgadmin3: oprette ny tabel.
Troels Arvin wrote:
On Sun, 11 Jul 2004 14:26:47 +0000, Jørgen Heesche wrote:
permission denied.
Du er måske ikke ejer af databasen?
Jeg er ejer af databasen.
Hvis du finder PostgreSQL for striks, og du p.t. kun eksperimenterer, så
prøv at kommentere alle andre linjer end følgende linje i pg_hba.conf:
local all all trust
For at connecte databasen med pgacccess havde jeg allerede fjernet # fra
linien:
host all all 127.0.0.1 255.255.255.255 trust
og derefter bør du kunne connect'e som
"postgres"-brugeren (PostgreSQL's superbruger), og fx. benytte GRANT til
at give CREATE eller "ALL"-rettigheder til din normale bruger. Den slags
kan pgadmin3 måske hjælpe dig med, hvis du er koblet på som
"postgres"-brugeren.
Hvordan tildeler man privilegier med pgadmin3? Det er nemt at gøre det i
psql med en GRANT kommando, f.eks.
grant all on database katalog to jph;
Det hjalp forøvrigt ikke noget, det var stadig ikke muligt at oprette en
tabel. Da databasen katalog er oprettet af jph er denne grant også
overflødig, jph har jo alle rettigheder.
Jeg har nu fundet ud af, at den CREATE TABLE kommando pgadmin forsøger
at udføre er flg.:
CREATE TABLE publib.atab
(
c1 int2,
c2 int4
) WITHOUT OIDS;
ALTER TABLE publib.atab OWNER TO jph;
Tabellen bliver altså oprettet i public, som er ejet af postgres, (og
det kan ikke ændres), hvorefter ejerskabet bliver ændret til bruger jph.
Men da det er jph, der har oprettet forbindelsen til databasen, er denne
ALTER TABLE ikke tilladt.
Løsningen på problemet er, at lade pgadmin forbinde sig til databasen
som bruger postgres.
Det er således lykkedes at oprette en tabel ejet af jph med denns SQL:
CREATE TABLE public.atab3
(
c1 int2 NOT NULL,
c2 int2,
c3 int4,
CONSTRAINT c1 PRIMARY KEY
) WITH OIDS;
Det lykkede med noget besvær at definere een primary key, men jeg kunne
godt tænke mig at definere multiple primary keys, f.eks.
CREATE TABLE public.atab3
(
c1 int2 NOT NULL,
c2 int2 NOT NULL,
c3 int4,
PRIMARY KEY (c1,c2)
) WITH OIDS;
Hvordan gør man det i pgadmin3?
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@xxxxxxxxxxx
Follow ups
References