PHP+PostgresSQl i Windows

7 отговора 181 прегледа
#1

PHP+PostgresSQl i Windows

Njakoy izpolzva li tazi kombinacija?:)
Ako da, molja pomognete s instalacijata i nastroikata:))Zashtoto si skxsah nervite:))
Znachi izteglil sxm PgSQL za Win + Cygwin.Instalirah Cygwin posle slozhih PgSQL vxtre i trxgnah da instaliram kakto pishe po debelite knigi,no nehsto mi dava greshka pri "createdb DB_name" :((
I mislja che neshto ne sxm napravil kato horata:(
Pleace, Help:))

Отговор
в отговор на Divaka #2

Re: PHP+PostgresSQl i Windows

аз не съм пускал postgre+cygwin, но все пак .... :
каква грешка дава, а и какви са стъпките, които си изпълнил ? (изпълни ли initdb, стартира ли сървера след това?)

Отговор
в отговор на Divaka #3

PHP+PostgresSQl i Windows

Znachi instalirah si Cygwin i sled tova pochnah

bash-2.02$ PGDATA=/usr/local/pgsql/data initdb --pglib=/usr/local/pgsql/lib

bash-2.02$ ipc-deamon&

bash-2.02$ postmaster -i 2>&1 > /tmp/postgres.log &

bash-2.02$/usr/bin/postmaster does not know where to find the database system data.You must specify the
directory that contains the database system either by specifying the -D invocation option or bysetting the
PGDATA environment variable.

No data directry -- can't proceed.

davam mu:

bash-2.02$ PGDATA=/usr/local/pgsql/data postmaster -i 2>&1 > /tmp/postgres.log &

bash-2.02$IpcMemoryCreate: shmget failed <Not enought core> key=5432010, size=120, permision=700
IpcMemoryIdGet: shmget failed <No such file or directory> key=5432010, size=120, permision=0
IpcMemoryAttach: shmat failed <Invalid argument> id=-2
FATAL 1: AttachSLockMemory: could not attach segment

chetoh na drugomjasto tova:

bash-2.02$ initdb --pgdata=/usr/local/pgsql/data postmaster -i 2>&1 > /usr/local/tmp/postgres.log &
[1] 2256

opitah togava da sxzdam:
bash-2.02$ cratedb DB_NAME -h localhost
Connection to database 'template1' failed.

Ako ima drug nachin za polzvane bez Cygwin kazhimi:))
Izormozih se:)))

Отговор
в отговор на Divaka #4

Re: PHP+PostgresSQl i Windows

значи погледнах как става горе-долу със cygwin (то не се различава много от linux да речем)

ти си хванал идеата, ама нещо някои команди си ги правил на по един ред и като цяло:

1. пускаш ipc-daemon - както си го направил
#ipc-daemon&

(сега без тези променливи PGDATA ще работим, щото с този cygwin незнам дали сичко си е както трябва)

2.сега правиш първоначалното създаване на базата
#initdb -D /var/postgres

директорията естествено може да е друга (сега то тук не трябва да гръмне ) то ще ти каже, ако е ок как се пуска сървера, а то е
3.
#pg_ctl -D /var/postgres start

(така ако го пуснеш ще ти бълва грешките на конзолата, което не мисля, че е проблем, ако не добавяш -l /var/postgres/logfile, примерно)

после ако искаш да спреш или рестартираш сървера
#pg_ctl -D /var/postgres stop
или
#pg_ctl -D /var/postgres restart

надявам се да стане, ако не кажи какво е станало
с
#ps axu
може да провериш дали имаш пуснато postgre - би трябвало да имаш

и сега
#createdb test
трябва да сработи

(препоръчвам ти да ползваш директия различна от досегашната или да я изтриеш в случай, че съществува)

Отговор
в отговор на phpGuru #5

малко допълнение

т.2 се изпълнява само първият път естествено

незнам как се кара cygwin-а да стартира тези неща всеки път
с PGDATA идеата е, че трябва да направиш като първо

#export PGDATA=/var/postgres

и тогава, не би трябвало като задаваш командите да добавяш това -D /var/postres
(това за да става автоматично, трябва някъде в .bashrc да се сложи примерно, ама както казах със cygwin нищо незнам как се автоматизира)

Отговор
в отговор на Divaka #6

Re: PHP+PostgresSQl i Windows

Zdrasti Guru,
Znachi i po tvoja nachin ne stava:((
Vsichko e mnogo dobre do startiraneto na servera:)))Pri men stava s postmaster -i&,no mi dava pak tova sxobshtenie:

$IpcMemoryCreate: shmget failed <Not enought core> key=5432010, size=120, permision=700
IpcMemoryIdGet: shmget failed <No such file or directory> key=5432010, size=120, permision=0
IpcMemoryAttach: shmat failed <Invalid argument> id=-2
FATAL 1: AttachSLockMemory: could not attach segment

znachi tazi komanda ja njama "pg_ctl" probvah i s neja,no ne stana
Mnogo losho shte se grxmna:))))))

Ako ima drug nachin bez Cygwin moljate kazhi shtoto shte si instaliram Linux nay-nakraja :))))))

Отговор
в отговор на Divaka #7

Re: PHP+PostgresSQl i Windows

за съжаление под windows друг начин няма ;-((

виж, аз източих една програмка setup.exe (но тя точи всичко от интернет или ти трябва първо сам да си източиш необходимите неща), която я ползвам за инсталация на cygwin в нея може да си избираш, кои пакети да инсталираш и т.н., там има и postgresql пакета - най-нова версия 7.3.1 (която ти я препоръчвам) няма само ipc-daemon-a, който трябва долпълнително да си свалиш и инсталираш, и нямах никакъв проблем - тръгна от първият път, незнам ти как си ги инсталирал, ама така става ;-))

а това съобщение ми прилича, че ipc-daemon-а, не е стартиран - можеш ли преди да пуснеш postgre-то, да провериш с ps aux, дали наистина е стартиран

Отговор
в отговор на phpGuru #8

Re: PHP+PostgresSQl i Windows

znachi i az sum probval da podkaram postgres pod windows :))
dva dni se probvah :)
ne uspiah :)

spored men problema mi beshe v tova che iavno ne sum bil instaliral niakoi komponenti na cygwin a puk az kato i bukel ne razbiram ot linux ne znam koi biblioteki mi triabvat i koi ne.
ta znachi problema mi beshe che kato puskam initdb mi dava niakolko greshki che daden file ili dadena direktoria ne sushtestvuva a direktoriite i filovete si biaha tam
(vse edno funkciata koiato se izpolzva za proverka na sushtestvuvaneto na daden obekt ne sushtestvuvashe) kakto i da e editnah malko initdb za da ne pravi proverki na filovete i uspiah da si suzdam PGDATA obache posle pri startiraneto na postgres.exe (ili na postmaster) mi dava greshka che postgres.exe (ili suotvetno postmaster) ne sushtestvuva - vse edno programata ne moje da nameri sebe si.

a inache kolkoto do PGDATA za da ne se pishe vseki put - ako si s windows nt otivash v Control Panel->System->Environment i vuv poleto VARIABLE pishesh PGDATA a v poleto VALUE pishesh putia do pgdata direktoriata (samo da ne go napishesh v linux style! triabva da bude neshto kato C:\postgres\pgdata) i add-vash tova neshto v spisaka.

Отговор