jjb*_*jjb 10 windows sql-server postgresql
我想安装postgresql作为Windows应用程序的后端.
如果系统上尚未安装postgresql,这似乎没问题.
如果已经安装了postgresql,那么除非命令行参数包含现有安装的superpassword等,否则安装将失败.因为我可能永远不会知道任何预先存在的postgresql实例的超级密码或其他帐户详细信息,并且机器所有者可能也不会看起来这会阻碍在这种情况下安装postgresql的任何尝试.
我相信可以安装完全独立的sql server实例,但这对postgresql有用吗?
顺便说一句: 如果命令行确实包含正确的超级密码,那么安装似乎会覆盖现有的安装并忽略像--prefix等参数.在进行第二次安装之前,我使用init db创建了一个新的数据库集群,但忽略了这个新的集群?
Grz*_*ski 12
通常,您可以拥有多个独立的PostgreSQL实例.严格来说,它的数据库集群是分开的:
postgresql.conf
,pg_hba.conf
)Debian具有易于使用的postgresql-common
基础架构(pg_ctlcluster,pg_lsclusters,pg_createcluster,pg_dropcluster,包含SSL,日志轮换等),这是一个完美的例子.
编辑:
我发现这是相当容易在Windows下安装有第二,第三等相同版本的PostgreSQL的实例EnterpriseDB公司的安装,无需使用initdb
和pg_ctl
(假设64位安装,可能需要使用Program Files (x86)
32位安装):
cmd
以管理员权限打开(以管理员身份运行)cd "C:\Program Files\PostgreSQL\9.0\installer\server"
initcluster.vbs postgres postgres 12345 "C:\Program Files\PostgreSQL\9.0" "C:\Program Files\PostgreSQL\9.0\data2" 5433 DEFAULT
startupcfg.vbs 9.0 postgres 12345 "C:\Program Files\PostgreSQL\9.0" "C:\Program Files\PostgreSQL\9.0\data2" postgresql-x64-9.0-2
postgresql-x64-9.0-2
使用services.msc
,你有第二个服务器更改12345
为PostgreSQL安装期间指定的密码.您不必使用data2
目录,使用您喜欢的任何内容(但当然不是现有data
目录).
像这样的东西应该可以工作(如果没有,可能是错误):
postgresql-9.0.4-1-windows_x64.exe ^
--mode unattended ^
--prefix c:\postgres\9.0-second ^
--servicename postgresql-x64-9.0-second ^
--serviceaccount postgres2 ^
--servicepassword <password> ^
--serverport 5433 ^
--superaccount postgres ^
--superpassword <password>
Run Code Online (Sandbox Code Playgroud)
编辑:经过几次测试后,我相信使用一键安装程序创建同一版本的不同 Postgres 实例是不可能的。对不起。
OTOH 您始终可以使用initdb
现有pg_ctl
的安装来创建新实例。这并不像启动安装程序那么容易,但它是可行的。
归档时间: |
|
查看次数: |
6448 次 |
最近记录: |