加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解决PostgreSQL不能在Terminal Services会话中安装的问题

发布时间:2020-12-13 17:41:25 所属栏目:百科 来源:网络整理
导读:安装PostgreSQL出现如下问题: The PostgreSQL installer must be run on the system console,not in a terminal services session. 原因分析:Go Daddy的virtual dedicated server有一些权限限制,特别是其Windows Server 2003系统无法顺利安装PostgreSQL。
安装PostgreSQL出现如下问题:
The PostgreSQL installer must be run on the system console,not in a terminal services session.
原因分析:Go Daddy的virtual dedicated server有一些权限限制,特别是其Windows Server 2003系统无法顺利安装PostgreSQL。运行pgsql的官方二进制安装包(至少包括8.1和8.2版本,可能包括所有版本),会出现以上提示。这是因为,为了初始化数据库,PostgreSQL安装程序需要启动一个独立的后台进程,因此安装程序不能在终端服务会话中运行,需要从控制台中启动。 一般要解决这个问题,可以通过在客户端执行mstsc /console命令来启动远程桌面连接,这会锁定服务器上的本地控制台而拥有完全的控制权,这样PostgreSQL的安装就没有问题。而GoDaddy的VDS有较严格的访问限制,mstsc /console是无法成功建立连接的。VNC也无法正常连接。 不过还是可以另辟蹊径的。pgsql的备份方式中,有一种文件系统级别的备份,就是直接copy数据库目录,还原时覆盖即可。这就意味着,pgsql的数据都是纯粹以文件的形式存在的。经过hotpoint一个下午的勇敢探索,研究出以下方法: 首先,在普通系统上正常安装好pgsql(当然两边的OS要一样),并复制整个安装文件夹,如C:PostgreSQL。 不一定是新装的pgsql。已有系统的也可以,这也相当于是迁移现有pgsql到其他系统的一个便捷方法。 1.将文件复制到新系统,下面以C:PostgreSQL为例 2.在系统中建立一个普通用户postgres 3.以系统管理员身份登陆,进入C:PostgreSQL,然后运行以下命令设置权限: cacls . /T /E /P postgres:R cacls data /T /E /P postgres:C 4.再进入C:PostgreSQLbin目录,运行命令注册服务: pg_ctl register -D c:PostgreSQLdata -N PostgreSQL 上面两步的操作输出如下: 5.打开Services管理,会看到新增的PostgreSQL服务 在Log On中修改该服务的启动用户为postgres 现在启动PostgreSQL服务吧!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读