Avatar billede ellebaek Nybegynder
09. juni 2004 - 22:55 Der er 24 kommentarer og
2 løsninger

Installer under windows i gygwin

Hej...

Jeg prøver at installere PostgreSQL under windows i gygwin.
Jeg har så kigget på den her side:
http://archives.postgresql.org/pgsql-cygwin/2002-07/msg00043.php

Og prøver at komme igennem det..
Men får fejlen:
Cygrunsrv.exe - Indgangspunktet blev ikke fundet
Procedureindgangspunktet getopt_long blev ikke fundet i DLL-biblioteket cygwin1.dll

Det er i en alert box fejlen kommer. den kommer under 2. punkt i install cygwin.

Jeg kører windows XP home.

Hvad gør jeg forkert..?

Mvh. Jens
Avatar billede ellebaek Nybegynder
10. juni 2004 - 10:58 #1
Hmm...

Nu er jeg kommet videre og har vidst fået installeret IPC-daemon..

Nu er jeg kommet til der hvor databasen skal inítialiseres..
$ initdb -D /PostgreSQL/data
The files belonging to this database system will be owned by user "Jens".
This user must also own the server process.

The database cluster will be initialized with locale C.

creating directory /PostgreSQL/data... ok
creating directory /PostgreSQL/data/base... ok
creating directory /PostgreSQL/data/global... ok
creating directory /PostgreSQL/data/pg_xlog... ok
creating directory /PostgreSQL/data/pg_clog... ok
selecting default max_connections... 10
selecting default shared_buffers... 50
creating configuration files... ok
creating template1 database in /PostgreSQL/data/base/1... FATAL:  could not create shared memory segment: Function not implemented
DETAIL:  Failed system call was shmget(key=1, size=1081344, 03600).

initdb: failed
initdb: removing data directory "/PostgreSQL/data"
Avatar billede kbu Nybegynder
10. juni 2004 - 20:57 #2
der er måske noget her du kan bruge:  http://refdb.sourceforge.net/manual/x1109.html
Avatar billede ellebaek Nybegynder
11. juni 2004 - 12:14 #3
Super kbu, jeg kigger på det og vender tilbage.
Avatar billede ellebaek Nybegynder
13. juni 2004 - 19:17 #4
hmm kbu-> Det ender vidst med at jeg dropper at installere det, og så bare benytter skolens computer hvor det er installeret..

Men smid et svar så får du lidt points som tak for interessen..
Avatar billede kbu Nybegynder
13. juni 2004 - 19:29 #5
dit spørgsmål fik mig til at forsøge en opgradering af min efterhånden gamle version 7.3.1 alpha til en nyere.
det indebar også en opgradering af cygwin.
jeg er lige kommet til : initdb: removing data directory "/PostgreSQL/data"
men det var på grund af incompatibilitet mellem min gamle og den nye database.
.......så nu skal jeg i gang med en nyinstallering ;-)
Avatar billede ellebaek Nybegynder
13. juni 2004 - 19:36 #6
hehe...

Sådan kan det gå..
Du må endelig skrive hvis du får det til at virke..
Så kommer der lidt flere points i din retning ;-)
Avatar billede kbu Nybegynder
13. juni 2004 - 19:58 #7
jeg _skal_ have det til at virke - jeg skal nok vende tilbage.
Avatar billede ellebaek Nybegynder
13. juni 2004 - 20:01 #8
Super...

Glæder mig ;_)
Avatar billede kbu Nybegynder
16. juni 2004 - 03:03 #9
Jeg lovede at vende tilbage - det gør jeg så.
Der er flere grunde til at det ikke lige er til at få til at fungere.
Først er den cygwin, hvor ipc-daemon er ændret til ipc-daemon2 til PostgreSQL ver 7.4.1, som igen er blevet erstattet af cygserver til PostgreSQL ver 7.4.2.
Det er ikke noget der umiddelbart fremgår af dokumentationen, medmindre man ser sig godt for.
Cygrunsrv var heller ikke med i alle Cygwin/PostgreSQL-pakker.
Hvis det er PostgreSQL version 7.4.2 skal du ikke bruge ipc-daemon men cygserver istedet for.
Lad mig høre hvilken PostgreSQL-version du prøver at installere.
Jeg har fået 7.4.2 til at køre under Cygwin med cygserver
Avatar billede ellebaek Nybegynder
16. juni 2004 - 12:31 #10
Jeg prøver at installere version 7.4.2..
Jeg lurede også det med at den hed ipc-daemon2 i stedet, men lurede ikke det med cygserver. Vil det sige at jeg skal vælge den i stedet for ipc-daemon når jeg prøver at installere ?
Avatar billede kbu Nybegynder
16. juni 2004 - 12:40 #11
ja
Avatar billede ellebaek Nybegynder
16. juni 2004 - 14:10 #12
ok... Det prøver jeg lige engang..
Avatar billede ellebaek Nybegynder
16. juni 2004 - 14:21 #13
hmm...

Jeg får denne når jeg prøver at initialisere databasen..

$ initdb -D c:/PostgreSQL/data
The files belonging to this database system will be owned by user "Jens".
This user must also own the server process.

The database cluster will be initialized with locale C.

fixing permissions on existing directory c:/PostgreSQL/data... ok
creating directory c:/PostgreSQL/data/base... mkdir: cannot create directory `c:
/PostgreSQL/data/base': Permission denied

initdb: failed

Det er under punkt 4 på linket..
Skal jeg stadig følge de punkter under installationen.?
Avatar billede kbu Nybegynder
16. juni 2004 - 14:56 #14
jeg har lavet følgende vejledning:  OBS! punkt 6 er 1 lang kommando

Install postgreSQL 7.4.2

installer Cygwin + PostgreSQL med Cygwin's Setup-wizard


I vejledningen er forudsat installation i w2k/xp:
    af Cygwin i    c:\Cygwin
    af data i    \usr\local\pgsql\data
    og at kommandoer er foretaget i en cmd.shell c:\Cygwin  (er angivet med  > )
    samt owner er den samme, som bruger i w2k med administratorrettigheder

# 1. angiv systemvariabeler
    CYGWIN=server
    PGDATA=/usr/local/pgsql/data
    i PATH tilføjes C:\Cygwin\bin
    reboot

# 2. install Cygserver (installerer Cygserver som en service)
>    cygserver-config
    reboot

# 3. hvis det er gået godt kan du i tjenester se at
    "CYGWIN cygserver" er startet

# 4. opret database
>    bash --login initdb -D /usr/local/pgsql/data

    du skulle få følgende på skærmen:
    The files belonging to this database system will be owned by user "Kenneth".
    This user must also own the server process.

    The database cluster will be initialized with locale C.

    creating directory /usr/local/pgsql/data... ok
    creating directory /usr/local/pgsql/data/base... ok
    creating directory /usr/local/pgsql/data/global... ok
    creating directory /usr/local/pgsql/data/pg_xlog... ok
    creating directory /usr/local/pgsql/data/pg_clog... ok
    selecting default max_connections... 40
    selecting default shared_buffers... 1000
    creating configuration files... ok
    creating template1 database in /usr/local/pgsql/data/base/1... ok
    initializing pg_shadow... ok
    enabling unlimited row size for system tables... ok
    initializing pg_depend... ok
    creating system views... ok
    loading pg_description... ok
    creating conversions... ok
    setting privileges on built-in objects... ok
    creating information schema... ok
    vacuuming database template1... ok
    copying template1 to template0... ok
   
    Success. You can now start the database server using:
   
        /usr/bin/postmaster -D /usr/local/pgsql/data
    or
        /usr/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

# 5. start datbaseserver
>    bash --login postmaster -D /usr/local/pgsql/data >PGDATA/log/pgsql.log 2>&1 &

# 6. install postmaster som en service (<USER> ændres til brugernavn Jens)
>    bash --login -c 'cygrunsrv --install "PostgreSQL Server" --path /usr/bin/postmaster --args "-D /usr/local/pgsql/data -i" --dep cygserver --termsig INT --user <USER> --shutdown'

    herefter bliver du så bedt om password.

# 7. reboot systemet - i tjenester skulle det nu gerne fremgå at
    "CYGWIN cygserver" og "PostgreSQL Server" er startet
    ( i joblisten -> processer er der 2 cygrunsrv.exe, 1 cygserver og 3 postgres.exe)

# 8. til slut er der bare
>    bash --login createlang --dbname=template1 plpgsql
>    bash --login createdb
   
    hvor den første linie tilføjer db-programmeringssproget 'plpgsql' til  database-templaten template1;
    den template, som alle de databaser man herefter opretter starter som en kopi af.
    næste linie opretter databasen.

en god frontend til PostgreSQL er EMS PostgreSQL Manager 2.
Avatar billede kbu Nybegynder
16. juni 2004 - 14:58 #15
vær opmærksom at der hvor jeg har angivet forlæns slash / er det rigtigt. det er cygwin der læser den
Avatar billede kbu Nybegynder
16. juni 2004 - 15:04 #16
mellem hvert mislykket forsøg skal du slette dit \data dir og køre initdb igen, men hvis der er blevet for meget rod er det nok nemmest at geninstallere hele Cygwin+PostgreSQL-distributionen igen.
Avatar billede kbu Nybegynder
16. juni 2004 - 15:05 #17
har du anvendt Cygwins Setup-wizard til at installere/downloade pakkerne ?
Avatar billede kbu Nybegynder
16. juni 2004 - 15:09 #18
har du administratorrettigheder ?
Avatar billede ellebaek Nybegynder
16. juni 2004 - 21:56 #19
Jeg har administratorrettigheder...

Undskyld jeg ikke lige svarede..
Men var på vej hjem fra skole, og er først kommet hjem nu..

Jeg følger din vejledning i morgen.
Den ser super god ud ;-)
Avatar billede ellebaek Nybegynder
17. juni 2004 - 10:35 #20
hmm...

Den opretter godt nok en tjeneste PostgreSQL Server, men tjenesten er ikke startet.
Når jeg så prøver at starte den, så siger den blot at tjenesten kunne ikke startes på grund af en logon fejl...?

Hvad gør jeg galt.
Avatar billede kbu Nybegynder
17. juni 2004 - 14:58 #21
så er du kommet til # 7 ??
prøv at se i tjenester hvem tjenesten er logget på som,
der skulle gerne stå  .\<det usernavn du har brugt>        Jens ???
når du bliver spurgt om password i # 6 skal du skrive samme password, som når du logger på systemet generelt; (PostgreSQL får jo din userid og skal bruge dit password for at kunne starte i bootfasen)
du kan fjerne tjenesten "PostgreSQL Server" igen med:
bash --login -c 'cygrunsrv --remove "PostgreSQL Server"

geninstaller den med # 6.
bash --login -c 'cygrunsrv --install "PostgreSQL Server" --path /usr/bin/postmaster --args "-D /usr/local/pgsql/data -i" --dep cygserver --termsig INT --user <USER> --shutdown'

erstat <USER> med dit navn    Jens  ???  så det ser sådan ud:
..............sig INT --user Jens --shutdown'

check også lige at tjenesten "PostgreSQL Server" er afhængig af "CYGWIN cygserver"
(det kan du se i tjenester ->"PostgreSQL Server" ->Egenskaber ->Afhængigheder).
her kan du også prøve at starte den efter # 6.
Avatar billede ellebaek Nybegynder
17. juni 2004 - 20:43 #22
Synes godt nok stadig jeg får samme fejl, med logon..

Men PostgreSQL er afhængig af CYGWIN cygserver.

Jeg har desværre ikke tid til at kigge mere på det i dag, men vender tilbage i morgen..
Avatar billede tryout Nybegynder
19. juni 2004 - 11:40 #23
til kbu, jeg sidder fast i fase 3, hvordan tilføjer man C:\cygwin\bin som PATH?
undskyld jeg sådan spring ind på dit spørgsmål ellebaek. Jeg ville gerne afvikle, noget php med postgres kørende lokalt, ved om det overhovedet er muligt?
Avatar billede ellebaek Nybegynder
19. juni 2004 - 12:42 #24
tryout -> Det er skam helt i orden..
når du skal tilføje som path, så hvis du har windows XP skal du gøre følgende...

start -> Kontrolpanel -> System -> avanceret -> Miljøvariable ->

Så er der en under system variable der hedder PATH, tryk rediger og tilføj ;c:\cygwin\bin

Husk ; før c:\osv..
Avatar billede tryout Nybegynder
19. juni 2004 - 13:53 #25
jeg får stadig samme fejl i punkt tre, men ved du om man kan anvende pgsql lokalt ligesom mysql?

fejl:
selecting default max_connections... initdb: line 572: 2700 Bad system call
"$PGPATH"/postgres -boot -x0 $TEST_OPT template1 </dev/null >/dev/null osv.
Avatar billede kbu Nybegynder
22. juni 2004 - 01:38 #26
tryout -> måske lidt sent, Ja du kan sagtens anvende PostgreSQL lokalt.
Der er 3 systemvariabler du skal sørge for at have oprettet.
1. CYGWIN=server
2. PGDATA=/usr/local/pgsql/data  (eller hvor du nu har specificeret dit datadir)
3. i PATH tilføjes C:\Cygwin\bin (eller hvor nu dit bin dir er)
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