PostgreSQL 中的全局可配置变量

在 PostgreSQL 数据库的 查询代价计算中,会看到有如下的变量:

seq_page_cost; //顺序读页代价

random_page_cost; //随机读页代价

等等。这些变量在数据库安装后我们可以通过两种方式来修改并生效:

1. )  在 psql 中通过 SET、SHOW 命令,如

seq_page_cost 默认值为 1

psql postgres 进入数据库

postgres > SHOW seq_page_cost;

1

postgres > SET seq_page_cost = 2.5;

(ps: 因为 seq_page_cost 为 double 型)

postgres > SHOW seq_page_cost;

2.5

note: SET 设置的值只在当前 session 中有效。想让值长期有效,请看 2)

2. )修改 PG安装路径/data 目录下的 postgresql.conf 的配置文件

如:

#seq_page_cost = 1 改为

seq_page_cost = 2

如果当前数据库已经启动,再执行

PG安装路径/bin/pg_ctl -D PG安装路径/data reload , 让运行中的数据库

重新加载配置。否则的话,启动数据库,启动中自动加载配置。

从而配置生效。在 psql 中执行 SHOW 命令验证。


可见,像 seq_page_cost 这样的全局可配置的变量很奇妙呀,我们不仅可以通过命令行

指令设置它, 还可以通过修改配置文件的方式设置它。

那么如何在 PostgreSQL 中添加功能类似,但我们自己定义的变量了。

未完待续!


你可能感兴趣的:(PostgreSQL,数据库)