1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
function pg_connectstring($dbname, $user, $password = "", $host = "", $port = "") {
$string = "dbname=$dbname user=$user";
if ($password != "")
$string .= " password=$password";
if ($host != "") {
$string .= " host=$host";
if ($port != "")
$string .= " port=$port";
}
return $string;
}
/**
* db_connect() - Connect to the database
* Notice the global vars that must be set up
* Sets up a global $conn variable which is used
* in other functions in this library.
*/
function db_connect() {
global $sys_dbhost,$sys_dbuser,$sys_dbpasswd,$conn,
$sys_dbname,$sys_db_use_replication,$sys_dbport,$sys_dbreaddb,$sys_dbreadhost;
//
// Connect to primary database
//
$conn = @pg_pconnect(pg_connectstring($sys_dbname, $sys_dbuser, $sys_dbpasswd, $sys_dbhost, $sys_dbport));
//
// If any replication is configured, connect
//
if ($sys_db_use_replication) {
$conn2 = @pg_pconnect(pg_connectstring($sys_dbreaddb, $sys_dbuser, $sys_dbpasswd, $sys_dbreadhost, $sys_dbreadport));
} else {
$conn2 = $conn;
}
//
// Now map the physical database connections to the
// "virtual" list that is used to distribute load in db_query()
//
define('SYS_DB_PRIMARY', $conn);
define('SYS_DB_STATS', $conn2);
define('SYS_DB_TROVE', $conn2);
define('SYS_DB_SEARCH', $conn2);
// Register top-level "finally" handler to abort current
// transaction in case of error
register_shutdown_function("system_cleanup");
} |
Partager