当前位置: 首页 > 知识库问答 >
问题:

通过木偶与客户data_directory安装柱子

郤立果
2023-03-14

我试图安装postgres 9.1在ubuntu 12.04机器上使用木偶v3.4.3和木偶实验室/postgresql模块v3.3.0.我想data_directory指向一个大的磁盘,我已经安装。

如果我更改了 postgresql::全局变量的 datadir 属性,它似乎没有做任何事情。postgres.conf 文件仍然有data_directory指向 /var/lib/postgresql/9.1/main 然后我也尝试使用 postgresql::服务器::config_entry在 postgres.config 中更改data_directory参数,但这会导致以下错误:

Debug: Executing 'service postgresql reload'
Notice: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]/returns:  * Reloading PostgreSQL 9.1 database server
Notice: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]/returns:  * pg_ctl: PID file "/data/PGDATA/postmaster.pid" does not exist
Notice: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]/returns: Is server running?
Notice: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]/returns:    ...fail!
Error: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]: Failed to call refresh: service postgresql reload returned 1 instead of one of [0]
Error: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]: service postgresql reload returned 1 instead of one of [0]

我认为这失败了,因为postgres是在配置data_directory之前启动的,这个参数是进程启动的一部分,所以当你改变值时,它不再能找到进程停止并启动它。如果我杀死postgres并尝试启动它,我会收到一个错误消息,说 /data/PGDATA不是一个有效的目录,因为数据库没有在我指定的data_directory位置创建。

最后,我尝试创建用户,组和文件路径,然后安装磁盘 /var/lib/postgresql/9.1/main在木偶之前,木偶安装postgres,但我得到这个错误:

Notice: /Stage[main]/Mm_postgres::Server/Postgresql::Server::Config_entry[checkpoint_segments]/Postgresql_conf[checkpoint_segments]/ensure: created
Error: Puppet::Util::FileType::FileTypeFlat could not write /etc/postgresql/9.1/main/postgresql.conf: No such file or directory - /etc/postgresql/9.1/main/postgresql.conf
Error: /Stage[main]/Mm_postgres::Server/Postgresql::Server::Config_entry[checkpoint_segments]/Postgresql_conf[checkpoint_segments]: Could not evaluate: Puppet::Util::FileType::FileTypeFlat could not write /etc/postgresql/9.1/main/postgresql.conf: No such file or directory - /etc/postgresql/9.1/main/postgresql.conf

我相信一切都是按照正确的顺序进行的,权限也很好,但我会继续调查。有人知道是否可以通过puppet在ubuntu上安装postgres并更改data_directory吗?如果有,如何更改?

谢谢

共有1个答案

裴英锐
2023-03-14

问题是puppetlabs的postgresql模块不太适合这种定制。我认为那里甚至有一些错误报告。这就是我所做的,它没有任何问题:

file { '/data/postgresql':
  ensure => directory,
}
file { '/var/lib/postgresql':
  ensure  => link,
  target  => '/data/postgresql',
  before  => Class['::postgresql::server::install'],
}

class { '::postgresql::globals':
}->class { '::postgresql::server':
}

希望能有所帮助!

PS。我用的是puppetlabs-postgresql版本3.3.3

 类似资料:
  • 问题内容: 有人知道如何获取元素的或文本吗?甚至更好;如何单击具有特定元素的元素?这就是普通JavaScript的工作方式: 在此先感谢您的帮助! 问题答案: 这就是我获取innerHTML的方式:

  • 提示:Bower 是一个前端资源包管理工具,使用它可以方便的下载和管理前端包资源。如果你暂时没有用到 Bower,可以跳过本文。注意:Bower 已经停止维护,不建议继续使用 Bower 安装 Highcharts。 我们提供的 Bower 包,包含了 Highcharts、Highstock、Highmaps 及相关的 js 文件,通过以下命令即可安装 bower install highcha

  • 提示:npm 是 nodejs 包管理工具,可以方便的管理和使用 nodejs 包,如果你暂时没有用到,可以跳过本文。 我们提供的 Highcharts npm 包,包含了 Highcharts、Highstock、Highmaps 及所有的功能模块,通过下面的命令即可完成安装 npm install highcharts --save 1. 加载  Highcharts var Highcha

  • 我已经将Hadoop1.0.3配置为3台具有完全分布式模式的计算机。在下面的第一台计算机上,正在运行作业: 现在当我在上面运行简单的map reduce作业时,执行map ReduceJob需要更长的时间。所以我在Hadoop上安装了HBASE层。现在我在3个集群上有以下的HBASE进程。 ./psql.sh master(zookeeper名称).../examples/web_stat.sql

  • 问题内容: 以下是我运行时遇到的错误: 问题答案: 在没有空格的路径中创建您的virtualenv环境。这就是为什么它发生的原因: 创建环境时,它会建立一个目录。在该目录中是与环境有关的所有可执行文件。有些是脚本。如您所知,hashbang用来告诉系统使用什么解释程序来运行脚本。您可能经常在脚本顶部看到此信息: 如果脚本位于,则告诉系统运行以下命令来执行脚本: 就您而言,virtualenv正在创

  • 本文向大家介绍Python通过websocket与js客户端通信示例分析,包括了Python通过websocket与js客户端通信示例分析的使用技巧和注意事项,需要的朋友参考一下 具体的 websocket 介绍可见 http://zh.wikipedia.org/wiki/WebSocket  这里,介绍如何使用 Python 与前端 js 进行通信。 websocket 使用 HTTP 协议完