如何在Openshift上更改postgresql.conf的默认值

时间:2014-07-25 12:14:35

标签: git postgresql cakephp openshift

我已经在OpenShift上运行CakePHP安装六个月了。数据库是PostgreSQL 9.2,我用来通过shell设置postgresql.conf文件,编辑postgresql/data/postgresql.confpostgresql/conf/postgresql.conf中有另一个postgresql.conf文件,后面没有保留更改db restarts),在第一次设置文件之后一切正常,直到今天我git推了一些更改,重新启动应用程序,因此数据库,应用程序显示我与数据库datestyle相关的错误,验证{{1文件被重置,我试图更改默认配置但在重新启动应用程序后,它被openshift的默认值覆盖。

我正在使用此git存储库进行设置https://github.com/BanzaiMan/openshift-cakephp-example-postgresql

Openshift是否改变了配置postgresql/data/postgresql.conf的方式? 还有其他方法可以更改postgresql.conf默认值吗?

我需要改变

postgresql.conf

到这个

#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# - Locale and Formatting -

datestyle = 'iso, mdy'  
lc_messages = 'en_US.utf8'  
lc_monetary = 'en_US.utf8'  
lc_numeric = 'en_US.utf8'  
lc_time = 'en_US.utf8'  
default_text_search_config = 'pg_catalog.english'  

更新

已报告此问题:https://bugzilla.redhat.com/show_bug.cgi?id=1123587

3 个答案:

答案 0 :(得分:1)

可以按照以下文章https://www.openshift.com/blogs/more-online-features-for-april-2014中的说明更改某些值。这是我改变最大连接数的方法。

SHOW max_connections;
max_connections 
-----------------
100
(1 row)

然后设置环境变量:

rhc env-set OPENSHIFT_POSTGRESQL_MAX_CONNECTIONS=200 -a ruby
Setting environment variable(s) ... done

重新启动应用程序

rhc app restart ruby

然后重新检查参数:

 SHOW max_connections;
 max_connections 
 -----------------
 200
 (1 row)

答案 1 :(得分:1)

您不应直接编辑data / postresql.conf,因为在应用程序启动/重启后会重新生成此配置。

我添加了OPENSHIFT_POSTGRESQL_LOCALE环境变量,可用于更改默认语言环境。它应该在下一版的Online中提供。

https://github.com/openshift/origin-server/pull/5664

感谢报道此事!如果您需要更多配置调整,请打开一个错误: - )

答案 2 :(得分:0)

您可以将所需的任何修改添加到ConfigMap,然后将其安装到/opt/app-root/src/postgresql-cfg/yourModifications.conf

该文件夹中的所有* .conf文件都将在运行时包含在生成的postgresql.conf的底部。

来源:https://github.com/sclorg/postgresql-container/tree/master/examples/custom-config

我已经在OpenShift 3.9和3.11上对其进行了测试。