我用的是postgresql 8.3.1 , 以前是用安装包一步步安装的,重装xp操作系统后,我想启用postgresql,于是用了以下命令:
添加用户postgres,然后将用户postgres从本地用户组里删除
net user postgres postgres /add /expires:never /passwordchg:no
net localgroup users postgres /delete
初使化数据库,然后将postgres注册为服务,服务名为wamppg
initdb -D D:\usr\wamp\bin\postgresql\postgresql8.3.1\data -E UTF8 –locale=C
pg_ctl register -D D:\usr\wamp\bin\postgresql\postgresql8.3.1\data -N wamppg
成功启动了服务器,才想到我的当前用户是administrator,安装\初使化数据库都用的它,现在postgres这个用户确实是在操作系统里添加了,但是PG数据库里没有.于是无法用postgres用户进入,提示
role “postgres” does not exist
看来要操作一下,[用pgadmin连接总是出错,后来发现是大小写的问题.区分大小写哦!]
psql -d postgres
打开了postgres数据库,这是初使化时默认的数据库.
\l 列出所有的数据库.\du 查看当前的所有用户,
可以看到只有一个用户[角色]Administrator.几个数据库的所有者都是它.
加一个角色,密码和角色名称一样是postgres,记得将它指定为超级用户,还要记得让它有登录的权限。以后它就是老大了,Administrator将要删除.然后将几个数据库的所有者改为postgres.退出用postgres登录无误后删除Administrator
CREATE ROLE postgres LOGIN USER INHERIT CREATEDB CREATEROLE PASSWORD ‘postgres’;
ALTER DATABASE postgres OWNER TO postgres;
ALTER DATABASE template0 OWNER TO postgres;
ALTER DATABASE template1 OWNER TO postgres;
后来发现无法删除Administrator,因为一些依赖关系无法解决,于是换个方法
ALTER ROLE Administrator RENAME TO postgres;
好了,现在一切就像重装系统前一样了.
本文共有 0 条评论
请留下您的评论: