Windows Server 2012启动免安装版postgresql9.5.5时报错

时间:2022-01-06 07:26:03
我在postgres官网下载了windows 64位版的免安装pgsql9.5.5(下载地址:https://www.enterprisedb.com/download-postgresql-binaries),之后写了一个bat文件(内存见下面正文)调用pgsql9.5.5里的命令创建data目录和启动pgsql,不管是创建目录调用initdb.exe还是启动调用pg_ctl命令都报一样的错,如下图:
Windows Server 2012启动免安装版postgresql9.5.5时报错

经查询,缺少的文件msvcr120.dll应该在C:\Windows\System32里(win7、win10、windows server 2008都在这个目录),windows server 2012的C:\Windows\System32下确实没有文件msvcr120.dll,但有一个文件msvcr120_clr0400.dll,采用了以下两种方法都不能解决。
1.将msvcr120_clr0400.dll复制一份改名为msvcr120.dll。启动pgsql报错如下:
Windows Server 2012启动免安装版postgresql9.5.5时报错
2.在网上下载了一个msvcr120.dll,放到C:\Windows\System32里,启动pgsql报错如下:
Windows Server 2012启动免安装版postgresql9.5.5时报错

!!!!!!求助!!!!! 这个问题怎么破????? Windows Server 2012启动免安装版postgresql9.5.5时报错

--------------------------------------------bat文件内容   开始-----------------------------------------
@echo off
::APM的根目录
@set APMDirectory=%~dp0
set pgsqlDirectory=%APMDirectory%pgsql-9.5.5-1-x64

::创建data目录
%pgsqlDirectory%\bin\initdb.exe -D %pgsqlDirectory%\data -E UTF8
::创建数据库日志目录
md "%pgsqlDirectory%\logs"
::启动数据库服务
%pgsqlDirectory%\bin\pg_ctl -D %pgsqlDirectory%\data -l %pgsqlDirectory%\logs\pgsql.log start
::创建数据库用户,-W是要求强制输入密码(没用到)  -d是此角色即新用户可以创建数据库 -P给新用户设置密码 -s新用户将是超级用户
%pgsqlDirectory%\bin\createuser -P -d -s postgres
::新建数据库
%pgsqlDirectory%\bin\createdb -U postgres aclome_css
%pgsqlDirectory%\bin\createdb -U postgres aclome_ocpcm
::执行数据库脚本
%pgsqlDirectory%\bin\psql -d aclome_css -U postgres -f %APMDirectory%\sql\aclome_css.sql
%pgsqlDirectory%\bin\psql -d aclome_ocpcm -U postgres -f %APMDirectory%\sql\aclome_ocpcm.sql

::停止数据库服务,后面会有启动脚本启动数据库服务
%pgsqlDirectory%\bin\pg_ctl -D %pgsqlDirectory%\data -l %pgsqlDirectory%\logs\pgsql.log stop

--------------------------------------------bat文件内容    结束-----------------------------------------

1 个解决方案

#1


120 是 2013 的 c/c++ 运行库,你下载一个安装一下
https://www.microsoft.com/en-us/download/details.aspx?id=40784

#1


120 是 2013 的 c/c++ 运行库,你下载一个安装一下
https://www.microsoft.com/en-us/download/details.aspx?id=40784