在 Postgresql 数据库的 查询代价计算中,会看到有如下的变量:
seq_page_cost; //顺序读页代价
random_page_cost; //随机读页代价
等等。这些变量在数据库安装后我们可以通过两种方式来修改并生效:
1. ) 在 psql 中通过 SET、SHOW 命令,如
seq_page_cost 默认值为 1
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 中添加功能类似,但我们自己定义的变量了。
未完待续!