aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/res_pgsql.conf.sample7
-rw-r--r--res/res_config_pgsql.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/configs/res_pgsql.conf.sample b/configs/res_pgsql.conf.sample
index cfb8538bd..b889244a7 100644
--- a/configs/res_pgsql.conf.sample
+++ b/configs/res_pgsql.conf.sample
@@ -13,6 +13,13 @@ dbname=asterisk
dbuser=asterisk
dbpass=password
;
+; dbsock is specified as the directory where the socket file may be found. The
+; actual socket is constructed as a combination of dbsock and dbport. For
+; example, the values of '/tmp' and '5432', respectively, will specify a socket
+; file of '/tmp/.s.PGSQL.5432'.
+;
+;dbsock=/tmp
+;
; requirements - At startup, each realtime family will make requirements
; on the backend. There are several strategies for handling requirements:
; warn - Warn if the required column does not exist.
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index e4bffd307..9a6650fa4 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -1391,8 +1391,8 @@ static int parse_config(int is_reload)
/* No socket needed */
} else if (!(s = ast_variable_retrieve(config, "general", "dbsock"))) {
ast_log(LOG_WARNING,
- "PostgreSQL RealTime: No database socket found, using '/tmp/pgsql.sock' as default.\n");
- strcpy(dbsock, "/tmp/pgsql.sock");
+ "PostgreSQL RealTime: No database socket found, using '/tmp/.s.PGSQL.%d' as default.\n", dbport);
+ strcpy(dbsock, "/tmp");
} else {
ast_copy_string(dbsock, s, sizeof(dbsock));
}
@@ -1453,7 +1453,7 @@ static int pgsql_reconnect(const char *database)
struct ast_str *connInfo = ast_str_create(32);
ast_str_set(&connInfo, 0, "host=%s port=%d dbname=%s user=%s",
- dbhost, dbport, my_database, dbuser);
+ S_OR(dbhost, dbsock), dbport, my_database, dbuser);
if (!ast_strlen_zero(dbpass))
ast_str_append(&connInfo, 0, " password=%s", dbpass);