<db>evergreen</db>
<user>postgres</user>
<pw>postgres</pw>
+ <application_name>open-ils.reporter</application_name>
</database>
<state_store>
<driver>Pg</driver>
<db>evergreen</db>
<user>postgres</user>
<pw>postgres</pw>
+ <application_name>open-ils.reporter-state</application_name>
</state_store>
<files>
<!-- successful report outputs go here -->
<pw>postgres</pw>
<db>evergreen</db>
<client_encoding>UTF-8</client_encoding>
+ <application_name>open-ils.storage</application_name>
</database>
</databases>
</app_settings>
<pw>postgres</pw>
<db>evergreen</db>
<client_encoding>UTF-8</client_encoding>
+ <application_name>open-ils.cstore</application_name>
</database>
</app_settings>
</open-ils.cstore>
<pw>postgres</pw>
<db>evergreen</db>
<client_encoding>UTF-8</client_encoding>
+ <application_name>open-ils.pcrud</application_name>
</database>
</app_settings>
</open-ils.pcrud>
<pw>postgres</pw>
<db>evergreen</db>
<client_encoding>UTF-8</client_encoding>
+ <application_name>open-ils.qstore</application_name>
</database>
</app_settings>
</open-ils.qstore>
<pw>postgres</pw>
<db>evergreen</db>
<client_encoding>UTF-8</client_encoding>
+ <application_name>open-ils.reporter-store</application_name>
</database>
</app_settings>
</open-ils.reporter-store>
char* port = osrf_settings_host_value( "/apps/%s/app_settings/database/port", mod_name );
char* db = osrf_settings_host_value( "/apps/%s/app_settings/database/db", mod_name );
char* pw = osrf_settings_host_value( "/apps/%s/app_settings/database/pw", mod_name );
+ char* pg_app = osrf_settings_host_value( "/apps/%s/app_settings/database/application_name", mod_name );
osrfLogDebug( OSRF_LOG_MARK, "Attempting to load the database driver [%s]...", driver );
dbi_conn handle = dbi_conn_new( driver );
osrfLogInfo(OSRF_LOG_MARK, "%s connecting to database. host=%s, "
"port=%s, user=%s, db=%s", mod_name, host, port, user, db );
- if( host ) dbi_conn_set_option( handle, "host", host );
- if( port ) dbi_conn_set_option_numeric( handle, "port", atoi( port ));
- if( user ) dbi_conn_set_option( handle, "username", user );
- if( pw ) dbi_conn_set_option( handle, "password", pw );
- if( db ) dbi_conn_set_option( handle, "dbname", db );
+ if( host ) dbi_conn_set_option( handle, "host", host );
+ if( port ) dbi_conn_set_option_numeric( handle, "port", atoi( port ));
+ if( user ) dbi_conn_set_option( handle, "username", user );
+ if( pw ) dbi_conn_set_option( handle, "password", pw );
+ if( db ) dbi_conn_set_option( handle, "dbname", db );
+ if( pg_app ) dbi_conn_set_option( handle, "pgsql_application_name", pg_app );
free( user );
free( host );
free( port );
free( db );
free( pw );
+ free( pg_app );
if( dbi_conn_connect( handle ) < 0 ) {
sleep( 1 );
"dbi:Pg:".
"host=$$master{host};".
"port=$$master{port};".
- "dbname=$$master{db}",
+ "dbname=$$master{db}".
+ ($$master{application_name} ? ";application_name='$$master{application_name}'": ""),
$$master{user},
$$master{pw},
\%attrs)
"dbi:Pg:".
"host=$$master{host};".
"port=$$master{port};".
- "dbname=$$master{db}",
+ "dbname=$$master{db}".
+ ($$master{application_name} ? ";application_name='$$master{application_name}'": ""),
$$master{user},
$$master{pw},
\%attrs) }
for my $db (@$_db_params) {
try {
- push @slave_dbs, DBI->connect("dbi:Pg:host=$$db{host};port=$$db{port};dbname=$$db{db}",$$db{user},$$db{pw}, \%attrs)
- || do { sleep(1); DBI->connect("dbi:Pg:host=$$db{host};port=$$db{port};dbname=$$db{db}",$$db{user},$$db{pw}, \%attrs) }
+ push @slave_dbs, DBI->connect("dbi:Pg:host=$$db{host};port=$$db{port};dbname=$$db{db}". ($$db{application_name} ? ";application_name='$$db{application_name}'" : ""),$$db{user},$$db{pw}, \%attrs)
+ || do { sleep(1); DBI->connect("dbi:Pg:host=$$db{host};port=$$db{port};dbname=$$db{db}". ($$db{application_name} ? ";application_name='$$db{application_name}'" : ""),$$db{user},$$db{pw}, \%attrs) }
|| throw OpenSRF::EX::ERROR
("Couldn't connect to $$db{db}".
" on $$db{host}::$$db{port}".