Avatar billede tangveje Nybegynder
12. januar 2003 - 05:38 Der er 10 kommentarer og
2 løsninger

Problemer med at oprette brugere

Hej, jeg kører Redhat 8.0 med postgreSQL installeret. postgreSQL er sat til at starte op automatisk, og det kører også fint.

Nu er problemet at jeg skal have oprettet nogen brugere. Det fandt jeg en simpel guide til, der involverede kommandoen 'createuser', men den giver en fejl med at databasen 'root' ikke er oprettet (eller noget i den stil)

På redhat.com fandt jeg så en længere forklaring om hvordan jeg opretter databaser og brugere.... Kommandoen 'createdb' gav fejlen 'brugeren root er ikke oprettet', og sådan kører det i ring, enten er brugeren root ikke oprettet eller også er databasen 'root' ikke oprettet. Eller i den stil, uanset hvad jeg har forsøgt får jeg en fejl, og det generer mig lidt.

Nogen der ved hvad jeg skal gøre? Forresten, nogen der kan fortælle mig hvad kodeordet til brugeren postgres er sat til som standard i redhat 8.0, den må vel være sat til et eller andet ind til man ændrer det selv
Avatar billede fumes Nybegynder
12. januar 2003 - 11:24 #1
Std kodeordet er vist ikke sådan lige til at få fat i, men i /etc/postgresql/pg_hba.conf (postgres host based access) kan du sætte en linie ind som tillader dig at logge på db'en uden password - nu har jeg ikke lige en conf så jeg kan ikke huske syntaxen 100%, men det er noget i stil med:

127.0.0.1    255.0.0.0    trust

Det betyder så at localhost er trusted og kan logge på uden password, alle brugerinformationer ligger i databasen "Template1"...

Håber det hjælper dig lidt videre...
Avatar billede tangveje Nybegynder
12. januar 2003 - 16:26 #2
Synes stadig ikke jeg kan få det til at virke, den siger stadig det samme når jeg vil oprette en bruger, og jeg kan stadig ikke logge ind :(

Den brokker sig også over et eller andet med at jeg skal starte postmaster med -i optionen, hvis jeg gør det får jeg en fejl ala "postmaster does not know where to find the database system data" og noget om at jeg skal prøve med -D optionene, men det giver en fejl med at jeg ikke har adgang til det bibliotek,,, Hvis jeg gør det som root får jeg at vide at det kan jeg ikke fordi jeg skal gøre det som en upriviligeret bruger
Avatar billede searchz Nybegynder
12. januar 2003 - 22:17 #3
-i optionen gør at det er muligt at logge ind fra andre maskiner end den samme maskine som PostgreSQL er installeret på.

-D optionen er for dit datadir og er sådan set obligatorisk, den vil typisk være noget med /var/lib/pgsql/data el. lign. afhængig af din installation.

Postmaster skal atid startes med en upriviligeret bruger, nemlig postgres som oprettes samtidig med installation af PostgreSQL.

Hvis du kun bruger PostgreSQL fra den lokale maskine behøver du ikke bruge -i parameteren.

Hvis du ikke selv har rodet med passwords til postgres brugeren el. lign så prøv med flg. forudsat at du har gennemført fumes tip om at lave localhost "trusted".

su root
->password

su postgres
->intet password nødvendigt normalt!

/usr/local/pgsql/bin/createdb -U postgres -D /var/lib/pgsql/data -h localhost dbnavn

Det burde spille :-)
Avatar billede searchz Nybegynder
12. januar 2003 - 22:21 #4
ups! det skulle ikke være createdb, men createuser som kaldes således:

/usr/local/pgsql/bin/createuser -U postgres -D /var/lib/pgsql/data -h localhost -A -P brugernavn

stinavnene skal naturligvis udskiftes med stier der gælder for din maskine.
Avatar billede tangveje Nybegynder
12. januar 2003 - 22:31 #5
Får denne fejl... Går ud fra jeg har gjort noget galt i forbindelse med fumes svar, finder lige indholdet frem, 2 min. så er jeg tilbage

psql: could not connect to server: Opkobling nægtet
        Is the server running on host localhost and accepting
        TCP/IP connections on port 5432?
createuser: creation of user "test" failed
Avatar billede tangveje Nybegynder
12. januar 2003 - 22:35 #6
En masse kommentarer, og det her er så indholdet af pg_hba.conf

local      all                                          trust
host      all        127.0.0.1    255.255.255.255    trust

# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)

local    all    ident    sameuser
Avatar billede searchz Nybegynder
12. januar 2003 - 23:11 #7
ja spøgsmålet kunne også være om postmaster kører?
tilføj evt /etc/init.d/postgresql, her kan du også tilføje -i parameteren i linien hvor postmaster startes.
Avatar billede tangveje Nybegynder
12. januar 2003 - 23:16 #8
ØH OK, den kan jeg ikke lige finde rundt i :( Ved ikke om jeg skal poste indholdet her, det er en større gang kode jo
Avatar billede searchz Nybegynder
13. januar 2003 - 01:04 #9
noget med...

su postgres -c "nohup /usr/local/pgsql/bin/postmaster

i samme linie skulle -D parameteren også gerne sættes!
Avatar billede tangveje Nybegynder
13. januar 2003 - 05:38 #10
Dette er hvad jeg lige kan finde der matcher... Men det siger mig ikke det mindste

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -D $PGDATA -p /usr/bin/postmaster start  > /dev/null 2>&1" < /dev/null
Avatar billede searchz Nybegynder
14. januar 2003 - 01:00 #11
ok, det afhænger nok lidt af PostGreSQL versionen, jeg kører selv 7.3.
men med pg_ctl kan du angive -i parameteren således, bemærk anførselstegn :

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -o "-i" -D $PGDATA -p /usr/bin/postmaster start  > /dev/null 2>&1" < /dev/null
Avatar billede tangveje Nybegynder
14. januar 2003 - 03:00 #12
YES!!!! Det lykkedes :)

Takker mange gange, begge 2... Forhøjede lige points, håber i er tilfredse med fordelingen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester