如何设置和获取自定义数据库变量?


9

使用“ PGAdmin III我”可以右键单击数据库,导航到Variables选项卡,然后在数据库本身上放置变量name-value属性。有没有办法自定义这些?我看到了一个application_name变量,但是我想要一个application_version变量。

Answers:


8

您必须将变量添加到postgresql.conf喜欢的结尾

#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

custom_variable_classes = 'general'     # list of custom variable class names

general.application_version = 'v1.0'

重新启动后,您可以general.application_version在PgAdmin中手动添加(它不会显示在下拉菜单中-至少对我而言不是)。否则,您可以像使用其他任何PostgreSQL变量一样使用它。

9.2版及更高版本的更新

从PostgreSQL 9.2开始,我们不再需要设置custom_variable_classes。可以设置他们想要的任何变量-唯一的限制似乎是它仍然必须包含两个部分:

SET something TO 'bla';
ERROR:  unrecognized configuration parameter "something"

SET thing.something TO 'bla';
SET

我想这样是为了避免与内置参数冲突。


嗯 无法从数据库中的SQL查询中执行此操作?
杰里米·霍洛瓦奇

您必须首先在postgresql.conf中定义变量。AFAIK要求重新启动PostgreSQL,所以您不能从SQL中重新启动。
dezso 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.