Chinaunix

标题: 如何在MS上创建postgres数据库? [打印本页]

作者: unixer2i    时间: 2006-11-09 22:05
标题: 如何在MS上创建postgres数据库?

我现在用的是MS XP sp2,已经安装了postgresql for windows的版本。但在创建我想建立的数据库时,却提示如下错误:

  1. createdb:could not connect to database postgres: FATAL:  password authentication failed for user "cswzz"
复制代码

我这里用的是postgresql安装时创建的管理员口令,但还是不行。换成随机口令也不行。有哪位帮我看一下,好吗?

作者: OneZ    时间: 2006-11-10 08:47
从出错信息来看,是password验证的问题。

Windows平台下,PostgreSQL安装、运行需要一个Windows系统下的用户帐号。这个用户不是你连接PostgreSQL时用的username。你应该用PostgreSQL数据库管理的账号。缺省的用户名是,postgres。

如果你不清楚postgres的password,可以先修改data\pg_hba.conf中的验证设置,绕开验证。待重新设置密码或建立新的pgsql用户之后,再打开密码验证。
作者: unixer2i    时间: 2006-11-10 10:35
原帖由 OneZ 于 2006-11-10 08:47 发表
从出错信息来看,是password验证的问题。

Windows平台下,PostgreSQL安装、运行需要一个Windows系统下的用户帐号。这个用户不是你连接PostgreSQL时用的username。你应该用PostgreSQL数据库管理的账号。缺省的用 ...


我看过我的postgresql安装目录data中的pg_hba.conf,最后一段是验证部分,具体为:

  1. # IPv4 local connections:
  2. host    all         all         127.0.0.1/32          md5
  3. # IPv6 local connections:
  4. #host    all         all         ::1/128               md5
复制代码

是不是host的问题呀?如何修改才能绕开postgres认证呢?

作者: joint    时间: 2006-11-10 14:55
md5 改成trust,然后修改密码后再改回来,要重新启动系统
作者: mycentury    时间: 2006-11-10 20:30
原帖由 OneZ 于 2006-11-10 08:47 发表
从出错信息来看,是password验证的问题。

Windows平台下,PostgreSQL安装、运行需要一个Windows系统下的用户帐号。这个用户不是你连接PostgreSQL时用的username。你应该用PostgreSQL数据库管理的账号。缺省的用 ...

我的C:\program files\postgresql\8.1
没有DATA 的folder
现在如何?
谢谢。

作者: unixer2i    时间: 2006-11-10 21:27
原帖由 joint 于 2006-11-10 14:55 发表
md5 改成trust,然后修改密码后再改回来,要重新启动系统


你所指的修改密码是哪一个密码,postgresql的初始密码还是管理员的密码?现在我已经安装好了postgresql,从哪里开始修改呢?

作者: joint    时间: 2006-11-11 10:02
数据库管理员和能访问数据库的用户的密码,postgres和其他用户,不是windows里头的用户

首先登录到数据库,
psql template1 -u postgres

update user postgres set password=password('xxxx');
然后关闭数据库,修改pg_hba.conf, trust->md5
重启再登录
作者: unixer2i    时间: 2006-11-12 11:18
原帖由 joint 于 2006-11-11 10:02 发表
数据库管理员和能访问数据库的用户的密码,postgres和其他用户,不是windows里头的用户

首先登录到数据库,
psql template1 -u postgres

update user postgres set password=password('xxxx');
然后关闭数 ...


我按照你给的方法试了一下,可以进去了。但在输入update命令后却给出这个提示:

  1. ERROR:  syntax error at or near "user" at charater 8
  2. LINE1:   update user postgres set password=password('xxxx');
复制代码

这是什么原因造成的呢?命令输对了。怎么会变成这个结果了呢?请帮我看一下,好吗?

作者: joint    时间: 2006-11-13 00:17
alter user postgres set password=password('xxxx');
作者: joint    时间: 2006-11-13 00:18
看一下postgresql的手册,上面有sql语句的说明
作者: OneZ    时间: 2006-11-13 07:29
在Windows下面,可以使用随同PostgreSQL一起的pgAdmin III,进行日常的维护和管理。当然也包括修改密码这类的事务。pgAdmin III,提供相应操作所对应的SQL,对于学习SQL蛮有帮助的。

pgAdmin III给出的修改密码的SQL,是这样的:
  1. ALTER Role postgres PASSWORD 'mypassword';
复制代码

作者: unixer2i    时间: 2006-11-17 20:32

现在的问题是,我在MS下启动了postgresql服务,在cmd下想创建数据库,结构出现跟以前一样的错误。这是否与postgresql管理员的密码问题有关吗?谁能帮我解决一下呢?

作者: shineregion    时间: 2007-08-07 16:22
标题: 请问有没有pgAdmin III的用法介绍呢。
不怎么会用这个东西。。。能介绍下吗。。给个学习手册也行。。。。谢了。。。
作者: SkyBelieve    时间: 2007-08-07 18:34
修改pg_hba.conf文件后只须reload就可以无需重启
psql  reload.
作者: kakasi    时间: 2007-08-08 15:51
原帖由 mycentury 于 2006-11-10 21:30 发表

我的C:\program files\postgresql\8.1
没有DATA 的folder
现在如何?
谢谢。


还没有初始化。。
PS:问一下高手,postgres现在windows下版本支持unicode了么?
作者: jacksg    时间: 2007-08-13 16:59
原帖由 SkyBelieve 于 2007-8-7 18:34 发表
修改pg_hba.conf文件后只须reload就可以无需重启
psql  reload.

兄弟,不是psql reload,应该是pg_ctl reload吧。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2