2

我正在尝试使用 set 命令在终端中设置一个字符串变量“bdr_node_name”。

bdrdemo=# set bdr.node_name = 'node1';
SET
bdrdemo=# show bdr.node_name ;
bdr.node_name 
---------------
node1
(1 row)

后续步骤:

1)In postgresql.conf
bdr.node_name = 'node2'
2)In bdr.c
DefineCustomStringVariable("bdr.node_name",
                           "higher priority node during conflicts",
                           NULL,
                           &bdr_node_name,
                           " ", PGC_USERSET,
                           0,
                           NULL, NULL, NULL);
3)In bdr.h 
extern char *bdr_node_name;
4)In bdr_apply.c 
char *bdr_node_name;

在尝试在日志文件中打印 bdr_node_name 值时,它会显示在postgresql.confnode2 中设置的默认值。未打印使用 set 命令分配的值。但 show 命令显示正确的值。这怎么可能?我错过了什么吗?

4

0 回答 0