如何正确安装PostgreSQL 9.3

6

我按照此文档上的安装步骤安装了PostgreSQL,一切看起来都很顺利。但当我尝试按照这篇教程进行操作时,出现了问题。创建数据库表时,我遇到了以下错误:

$ createdb mydb
WARNING: password file "/home/.../.pgpass" has group or world access; permissions should     be u=rw (0600) or less
WARNING: password file "/home/.../.pgpass" has group or world access; permissions should be u=rw (0600) or less
createdb: could not connect to database template1: FATAL:  role "..." does not exist


$ /usr/local/pgsql/bin/createdb mydb
bash: /usr/local/pgsql/bin/createdb: No such file or directory

这些命令应该在 postgreSQL 控制台中执行,而不是在 bash 中执行。 - Jan Vladimir Mostert
2
读取错误信息!您的 .pgpass 文件权限不正确,而且似乎内容也有误(除非您真的想作为用户“...”连接)。 - Richard Huxton
@JanVladimirMostert createdb 必须在 bash 中运行,它不是 SQL 语句。create database 是要在 psql 中运行的 SQL 语句。 - user330315
@a_horse_with_no_name,我承认错误,谢谢! - Jan Vladimir Mostert
2个回答

12

你收到了一个警告和一个错误。

  • 你可以通过在终端中输入以下命令来处理警告:

  • $ chmod 600 ~/.pgpass
    
  • 当您在终端中写入"psql"时,Postgres DBMS会尝试连接到与您计算机名称相同的一个数据库,但是它找不到它。另一方面,Postgrest在安装时创建了一个名为"postgres"的数据库,因此请尝试连接到此数据库并创建您自己的数据库。您可以使用以下命令轻松连接到"postgres"数据库:

  • $ psql postgres 
    
    如果您遇到“连接Unix域套接字“/tmp/.s.PGSQL.5432”?”错误,请使用以下命令启动您的数据库:
  • $ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
    
  • 使用此命令检查结果:

    $ pg_ctl -D /usr/local/var/postgres status
    

2
错误消息告诉您出了什么问题。更改 .pgpass 的权限:
chmod u=rw $HOME/.pgpass

此外,除非你修改了错误信息但没有说明,否则你似乎实际上正在尝试以用户...的身份连接。我想你读到的示例可能会说:
psql -U "..." template1

并且假定您会将“...”替换为实际用户名


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接