·
前段时间因为业务需求,在没有外网连接的情况下,需要部署PostgreSQL的环境,遇到了一些问题,记录在此。
- 默认下载的Windows版本PostgreSQL安装包是exe的可执行程序版本,在运行期间需要联网下载VS可执行库
- 即便将VS可执行库事先安装好,exe安装程序还是会联网检测,导致安装不成功
- PgAdmin作为数据库管理工具,也依赖着VS可执行库;在事先安装了VS可执行库的情况下,PgAdmin的exe版安装程序没有遇到问题
以下记录一下离线安装的步骤:
下载安装包
- VS运行时环境,安装目标系统版本选择 —— https://support.microsoft.com/en-in/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package
- VS 08的环境也需要安装 ——
- PostgreSQL Zip版本(9.6版) —— https://www.enterprisedb.com/products-services-training/pgbindownload
- PgAdmin4 —— https://www.pgadmin.org/download/pgadmin-4-windows/
分布安装
- 安装vcredist_x64.exe 和 vcredist_x86.exe
- 解压postgresql-9.6.6-3-windows-x64-binaries.zip
- 进入解压出来的pgsql目录,执行initdb命令初始化数据库 —— initdb -D XXX\pgdata -U postgres -W -E UTF8 -A md5
- 运行 ——
pg_ctl -D XXX\pgdata start
-
停止 —— pg_ctl -D XXX\pgdata stop
-
以上运行和停止也可以做成系统服务,防止命令行窗口被误操作关闭
- 安装pgadmin4-1.6-x86.exe
遗留问题
服务器版本如果是windows server 2003 或者 XP之流,就比较头疼,对版本的要求限制很大,目前的策略是上vmware player + ubuntu镜像,把环境配置在镜像里,这又涉及到vmware player版本、镜像复制和虚拟机的端口映射等一系列问题,以后再详细记录方案。
参考资料:
- https://stackoverflow.com/questions/19706421/visual-studio-2013-msvcr120-to-msvcr100
- https://stackoverflow.com/questions/26441873/starting-postgresql-and-pgadmin-in-windows-without-installation
- http://filewells.com/postgresql-9-6-2-latest-version-free-download/
- 证书问题参考—— https://blogs.msdn.microsoft.com/vsnetsetup/2016/03/28/a-certificate-chain-could-not-be-built-to-a-trusted-root-authority-2/