Windows 2008R2 安装PostgreSQL 11.6

    前些天在CentOS 7.5 下安装了PostgreSQL 11.6。除了在无外网环境下需要另外配置之外,其他没有什么差别。今天主要写一下在Windows下面安装PostgreSQL的问题。

    在官网看到下面的不同PostgreSQL版本需安装在相应Windows版本上。我觉得这是指PostgreSQL各版本安装在哪些Windows版本下较合适,并不带表没写的PostgreSQL版本就不能在其他Windows版本下安装。

 

 

安装的时候并没有什么太大的问题,只是安装在最后遇到“ cluster (集群) 初始化失败” ,这个没关系,可以忽略。但是在安装完成后发现PostgreSQL安装目录下的data文件夹没有数据,服务未注册,这才是真的需要解决的问题。可能是2008对文件的权限较为严格,导致文件夹没有写的权限所致,下面百度搜索了一下手动注册服务的方法。方法如下:

①增加用户postgres。在启动控制面板/管理工具/计算机管理/本地用户和组,增加一个普通用户,如postgres,密码123;

②设置用户权限。由于服务器系统的默认具有最高文件权限的用户并不是系统用户Administrator,而是TrustedInstaller。我的办法是:参照http://blog.sina.com.cn/u/5379679437 先将C盘的所有者更改为Administrator,把用户postgres添加到对C盘完全控制权限用户。

③以管理员身份运行 cmd.exe,定位到安装目录的bin文件夹,我的是默认安装目录,所以输入:cd C:/Program Files/PostgreSQL/11/bin/,在用用户postgres的身份打开cmd.exe,输入:runas /user:postgres cmd ,如果没有第二步用户权限设置,会报错访问拒绝。成功后自动跳出用户postgres的cmd窗口。输入:cd C:/Program Files/PostgreSQL/11/bin/,再输入:initdb -D "C:/Program Files/PostgreSQL/11/data" -E UTF-8 --locale=Chinese,成功后,检查data文件夹里面填入19个文件。

④安装PostgreSQL服务.回到Administrator启动的cmd.exe界面中,输入: cd C:/Program Files/PostgreSQL/11/bin,再输入:pg_ctl register -N PostgreSQL -D "C:/Program Files/PostgreSQL/10/data/",成功后显示:服务“PostgreSQL”已经注册。在服务里面可以找到“PostgreSQL”服务,启动服务成功。

以上解决方法参考:https://www.cnblogs.com/telwanggs/p/9555332.html ,感谢作者的分享。

按照以上方法注册服务成功后,postgreSQL 便可以正常连接使用。

配置远程连接。

打开PostgreSQL安装目录,打开data文件夹。

1.修改pg_hba.conf,修改IPV4或者在最后加上以下两句话

# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5

2.修改postgresql.conf,找到listen_addresses,将其设置为listen_addresses = '*'

3.重新启动服务。

 

posted @ 2019-11-27 08:10  VicLW  阅读(843)  评论(0编辑  收藏  举报