Hi Esteban, Itâs a mess ;-) This is what I do (but the code is at least a year old, if not 2 - on the other hand, this stuff hardly changes): T3DatabaseStorageAccessor>>#session ^ session ifNil: [ session := T3StorageDatabaseResource createSession. session accessor login. session accessor logging: self logSQL. session accessor basicExecuteSQLString: 'set timezone to ''utc'''. session ] T3StorageDatabaseResource class>>#createSession ^ T3StorageSchema sessionForLogin: self login T3StorageDatabaseResource class>>#login ^ DatabaseLogin ifNil: [ DatabaseLogin := self defaultLogin ] T3StorageDatabaseResource class>>#defaultLogin ^(Login new) database: PostgreSQLPlatform new; username: 't3'; password: âXXXX'; connectString: 'localhost:5432_t3-storage'; secure: false; yourself PharoDatabaseAccessor DefaultDriver is NativePostgresDriver. Does this help ? Anyway, other advantages of this driver are that you can go from one machine to another, over ssh, double-check with psql, ... You can even go from your dev machine / image to your production server db (over ssh) over the internet ⦠Regards, Sven On 12 Dec 2013, at 13:49, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
2013/12/12 Sven Van Caekenberghe <sven@stfx.eu>:
Maybe a stupid question, but why not use the PostgresV2 ânativeâ driver. This one is network based, it needs no (annoying) libraries, just a socket connection ?
And it works perfectly with Glorp.
I thought I was using it, in fact I load as one of my prerequisites.
My app only depends on the GlorpSession, which is instantiated as shown before:
| login accessor session | login := Login new database: (PostgreSQLPlatform new characterEncoding: (config at: 'encoding' ifAbsent: [ 'utf8' ])); username: (config at: 'username'); password: (config at: 'password'); connectString: (config at: 'hostname') , '_' , (config at: 'database'); encodingStrategy: (DBXStaticEncoding newForEncoding:'utf8').
accessor := DatabaseAccessor forLogin: login. accessor login.
The DBXStaticEncoding doesn't seem to instantiate any connection related classes, but if I remove the line I get the same error.
But the DefaultDriver of PharoDatabaseAccesor is GlorpOpenDBXDriver, which is the only direct subclass of Glorp's DatabaseDriver class. I don't know if there is a DatabaseDriver for Glorp that uses the native Driver (doesn't seem hard to implement either).
Now I don't know which path to take. If to properly implement/install (repo?) the native DatabaseDriver or configure the required external library.
Regards.