我正在尝试使用 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.conf
node2 中设置的默认值。未打印使用 set 命令分配的值。但 show 命令显示正确的值。这怎么可能?我错过了什么吗?