Postgresql群集初始化

Postgresql群集初始化,postgresql,installation,Postgresql,Installation,SQL分发预初始化的目录集群,但对于postgresql,我们需要使用initdb和网络服务帐户初始化集群。它在少数情况下失败,并造成了一些痛苦 我们可以自己初始化集群并分发预初始化的集群吗 谢谢很难理解你的问题,但我想你说的是针对PostgreSQL的Windows安装程序。对吗?什么版本、什么安装程序、错误消息、日志等呢 可以找到安装程序 SQL=数据库语言,SQL Server= Microsoft数据库产品 “集群”(或数据目录)取决于操作系统和体系结构。因此,在32位Linux上用in

SQL分发预初始化的目录集群,但对于postgresql,我们需要使用initdb和网络服务帐户初始化集群。它在少数情况下失败,并造成了一些痛苦

我们可以自己初始化集群并分发预初始化的集群吗


谢谢

很难理解你的问题,但我想你说的是针对PostgreSQL的Windows安装程序。对吗?什么版本、什么安装程序、错误消息、日志等呢

可以找到安装程序

SQL=数据库语言,SQL Server= Microsoft数据库产品

“集群”(或数据目录)取决于操作系统和体系结构。因此,在32位Linux上用initdb初始化的数据目录在64位Windows上无法工作

但你不需要这么做。只有当您希望将PostgreSQL作为服务运行时,才需要服务帐户

您可以轻松地使用ZIP发行版安装和启动Postgres,而无需完整的安装或服务帐户

具体步骤如下:

  • 解压二进制文件
  • 运行initdb,将其指向应该创建数据库集群的目录
  • 运行pg_ctl启动服务器 请注意,步骤2)和3)必须使用同一用户运行,否则服务器将没有写入数据目录的权限


    这些步骤可以很容易地放入批处理文件或shell脚本中。

    您是否有关于其失败原因的更多信息?你看到任何错误信息了吗?嗯,随机的东西。postgre用户需要访问根目录等8点3问题。我们不想改变,因为客户不喜欢这样。这就是我为什么考虑分发预初始化集群的原因。如果你在谈论像pg_集群类型命令这样的debian/ubuntu函数,是的,它们必须是root才能执行。OTOH,initdb不需要由root用户运行,因此如果您在用户joe的当前目录中,您可以运行initdb-D/home/joe/mydb在windows中创建cluster.nope。随机失败和postgres用户需要在整个文件夹链中使用完全权限,这就是目前正在做的事情。我们基于windows,postgres二进制文件随安装程序一起分发。在安装过程中,复制二进制文件,并使用initdb初始化集群。大约70%的情况下它可以工作,但20-30%的情况下它失败了。这就是为什么我问是否可以使用我们的安装程序分发预初始化的集群。因为30%的失败是不可接受的,并且会导致一些工作。这是postgres 8.4。我们没有使用postgres安装程序。我们复制二进制文件并在将二进制文件复制到文件夹后初始化集群。为什么不将安装程序嵌入到您自己的安装程序中?这就是我们为我们的软件包(Java/Jboss/PostgreSQL)所做的,它工作起来很有魅力。你需要安装MS installer 4.5才能拥有msi,我们需要在postgress中定制一些东西。