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.
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"
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 ;-)
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
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 ?
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
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
# 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.
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.
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...?
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.
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?
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)
Synes godt om
Ny brugerNybegynder
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.