|
|
@ -22,6 +22,7 @@ |
|
|
|
#include "libpq-fe.h" |
|
|
|
#include "libpq-fe.h" |
|
|
|
#include "pqexpbuffer.h" |
|
|
|
#include "pqexpbuffer.h" |
|
|
|
#include "access/xlog.h" |
|
|
|
#include "access/xlog.h" |
|
|
|
|
|
|
|
#include "mb/pg_wchar.h" |
|
|
|
#include "miscadmin.h" |
|
|
|
#include "miscadmin.h" |
|
|
|
#include "pgstat.h" |
|
|
|
#include "pgstat.h" |
|
|
|
#include "replication/logicalproto.h" |
|
|
|
#include "replication/logicalproto.h" |
|
|
@ -134,9 +135,16 @@ libpqrcv_connect(const char *conninfo, bool logical, const char *appname, |
|
|
|
} |
|
|
|
} |
|
|
|
keys[++i] = "fallback_application_name"; |
|
|
|
keys[++i] = "fallback_application_name"; |
|
|
|
vals[i] = appname; |
|
|
|
vals[i] = appname; |
|
|
|
|
|
|
|
if (logical) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
keys[++i] = "client_encoding"; |
|
|
|
|
|
|
|
vals[i] = GetDatabaseEncodingName(); |
|
|
|
|
|
|
|
} |
|
|
|
keys[++i] = NULL; |
|
|
|
keys[++i] = NULL; |
|
|
|
vals[i] = NULL; |
|
|
|
vals[i] = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert(i < sizeof(keys)); |
|
|
|
|
|
|
|
|
|
|
|
conn = palloc0(sizeof(WalReceiverConn)); |
|
|
|
conn = palloc0(sizeof(WalReceiverConn)); |
|
|
|
conn->streamConn = PQconnectdbParams(keys, vals, /* expand_dbname = */ true); |
|
|
|
conn->streamConn = PQconnectdbParams(keys, vals, /* expand_dbname = */ true); |
|
|
|
if (PQstatus(conn->streamConn) != CONNECTION_OK) |
|
|
|
if (PQstatus(conn->streamConn) != CONNECTION_OK) |
|
|
|