PostgreSQL nem connectel
Üdv! Ringyóz alatt szenvedek a PostgreSQL életre lehelésével. A PHPpgAdmin remekül látja, tudok mindenfélét csinálni benne. Viszont ha azt mondom PHP-ban, hogy:
$dbconn = pg_connect('host=localhost port=5432 user=postgres password=postgres dbname=proba');
akkor semmi sem történik, a $dbconn értéke false, vagyis nem sikerült. A pg_last_error() üres stringet ad. Akkor is ez az eredmény, ha localhost helyett 127.0.0.1-et írok.
Mit csinálok rosszul? Egyáltalán hol lehet megnézni valami logot, hogy mi nem sikerül?
■ $dbconn = pg_connect('host=localhost port=5432 user=postgres password=postgres dbname=proba');
akkor semmi sem történik, a $dbconn értéke false, vagyis nem sikerült. A pg_last_error() üres stringet ad. Akkor is ez az eredmény, ha localhost helyett 127.0.0.1-et írok.
Mit csinálok rosszul? Egyáltalán hol lehet megnézni valami logot, hogy mi nem sikerül?
A pg_hba.conf-ban mit adtál
A te kódod TCP/IP sockethoz próbál kapcsolódni, lehet a phpPgAdmin Unix sockethoz kapcsolódik. (Ha nem adsz meg host értéket vagy Unix socket útvonalát adod meg, akkor kapcsolódik Unix sockethoz.)
Nem értek Windowshoz, ott még nem használtam PostgreSQL-t. Lehet mindez ott nem is érvényes, csak egy elmélkedés volt. Minden esetre ránéznék, hogy várakozik-e valaki a 5432 porton és ha igen, ki.
# TYPE DATABASE USER
# IPv4 local connections:
host all all 127.0.0.1/32 md5
Akkor nem jött be a tippem.
Eddig egyetlen tipp sem jött
Sajnos én is csak linuxon
Másik ötletem, hogy talán nincs a php-hez pgsql extension-öd. A pgadmin extension nélkül, valamilyen odbc hívással is tud csatlakozni, azaz lehet, hogy nem is a pg_connect()-et használja. PhpMyAdmin például simán elmegy mysql extension nélkül, ebből gondolom, hogy a pgadmin is megy. Ez megmagyarázza, hogy miért megy a pgadmin, és miért nem megy a pg_connect.
Ringyózon a pg installnál kér
Időközben egy hirtelen jött ötletre átállítottam a hibaüzeneteket E_ALL-ra, és hirtelen kiderült, mi a kínja:
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database "proba" does not exist in C:\apacheroot\postgres\index.php on line 11
fail
Tehát nem látja a scheme-t. De miért?