tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

DibiDriverException – PostgreSQL server: FATAL: database „admin“ does not exist

před 9 lety

knoxa
Člen | 18

Zdravím,

s dibi a Nette začínám a po vyplnění config.ini mi laděnka vyhodí tuto vyjímku:

DibiDriverException

pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database „admin“ does not exist

File: D:\xxx\TodoList\libs\dibi\drivers\postgre.php Line: 90

config.ini:

[production < common]
; common database connection
database.driver = postgre
database.charset = utf8
database.host = localhost
database.username = admin
database.password = adminpw
database.database = todolist

bootstrap.php:

dibi::connect(Environment::getConfig('database'));

Pokud si to interpretuji správně, dibi se snaží zvolit databázi hodnotou uživatelského jména. Databáze todolist existuje a přihlašovací údaje jsou také správné. Netušíte, kde by moh být zakopán pes?

Postgre 8.3, PHP 5.2, Nette 0.9.3, dibi 1.2

před 9 lety

knoxa
Člen | 18

Tak už jsem přišel na to, kde chcíp ten pes. Samozřejmě v tom je blbost uživatele (= mě :)), takže pro budoucí generace:

Při připojování k Postgre nelze uvádět parametr název databáze jako database, ale jako dbname (v kontextu configu tedy database.dbname).

To by se mohlo přepisovat automaticky, stejně jako se přepisuje usernameuser (viz jeden ze starších topiců zde na fóru).

Editoval knoxa (29. 3. 2010 13:17)

před 9 lety

Ondřej Mirtes
Člen | 1539

Fixed ;)

před 9 lety

Milo
Nette Core | 1119

Ondřej Mirtes napsal(a):

Fixed ;)

Ahoj,

nechcete to fixnout i ve stable verzi, vydat 1.2.1, anebo aspon cervene upozornit na pouzivani dbname pro PostgreSQL? Je to dost nebezpecny. Pouzivam login milo, aplikaci jsem vyvijel na databazi milo, potom ji zduplikoval na milo-test a tester mi nevedomky perfektne rozebral data v me stare DB protoze to novy nazev z config.ini ignorovalo.

Dik, Milo