论坛首页 综合技术论坛

PostgreSQL for Win V8.2.0支持以超级用户启动数据库了

浏览 3252 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-07  
   PostgreSQL for Win以前的版本不支持以超级用户的启动数据库,开发者主要是考虑到安全性问题,才做了这个限制。这本来无可厚非,不过这对于象我这样的绿色一族(喜欢使用绿色软件,讨厌安装软件时被强行往操作系统塞入一堆可知或不可知的东西),一般都下载PostgreSQL的ZIP版本来用,不能用超级用户启动的限制可就造成了不小的麻烦。因为在自己的电脑上,为了方便,一般都会建个具有超级用户权限的用户来作为日常使用,所以要“安装”ZIP版本的PostgreSQL时,要先建普通权限用户,然后再切换到新用户,然后再执行数据库的配置、启动,完毕后再退回到超级用户做其他事情。
    况且,在作开发或测试时,数据库的安全隐患不会特别大,一般来说没必要换个用户来启动数据库。而且,我认为,在Windows上PostgreSQL的用户,多半是用作开发和测试的目的,所以就没必要非要换一个普通用户来启动,没有必要徒增麻烦。
    不过,在postgreSQL V8.2.0以后,这种痛苦经历就成为历史了。
    昨天我下了一个PostgreSQL for Win V8.2.0 ZIP版来用,在超级用户下解压后就直接初始化数据库了,初始化结束之后,看到了pg_ctl提示的一句话,让我高兴啊:
引用

E:\database\pgsql820\bin>initdb
属于此数据库系统的文件宿主为用户 "Sheng".    //"Sheng"是我日常使用的超级用户
此用户也必须为服务器进程的宿主.             //这句话告诉我必须以"Sheng"用户来启动数据库服务器
数据库簇将带有 locale Chinese_People's Republic of China.936 初始化.

创建目录 ../data ... 成功
creating subdirectories ... 成功
选择默认最大联接数 (max_connections) ... 100
selecting default shared_buffers/max_fsm_pages ... 32MB/204800
创建配置文件 ... 成功
在 ../data/base/1 中创建 template1 数据库 ... 成功
initializing pg_authid ... 成功
initializing dependencies ... 成功
创建系统视图 ... 成功
loading system objects' descriptions ... 成功
创建字符集转换 ... 成功
对内建对象设置权限 ... 成功
创建信息模式 ... 成功
清理数据库 template1 ... 成功
拷贝 template1 到 template0 ... 成功
copying template1 to postgres ... 成功

警告: 为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下
次运行 initdb 时使用 -A 选项.

Success. You can now start the database server using:

    "postgres" -D "../data"
or
    "pg_ctl" -D "../data" -l logfile start



好,就先用"Sheng"用户启动试度试:
引用

E:\database\pgsql820\bin>"pg_ctl" -D "../data" -l ../log/log.txt start
server starting


看来真的可以用超级用户启动了。

再查看系统进程,postgres.exe赫然在座,启动用户名就是“Sheng”,激动啊!!!
看来postgreSQL的开发者还是蛮会为用户考虑的嘛。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics