2014-04-14 67 views
2

我跟着這個文檔的安裝http://www.postgresql.org/download/linux/ubuntu/,似乎每件事情都很好。但是當我嘗試按照本教程進行操作時:http://www.postgresql.org/docs/9.3/static/tutorial-createdb.html,一切都不再好。這是我在嘗試創建數據庫表時遇到的錯誤:如何正確安裝progresql-9.3

$ 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 
+0

這些命令應該PostgreSQL的控制檯內運行,而不是在bash –

+2

閱讀錯誤信息!您的.pgpass文件具有不正確的權限,另外似乎有錯誤的內容(除非您真的試圖以用戶'...'連接)。 –

+0

@JanVladimirMostert'createdb'必須在bash中運行,它不是一個SQL語句。 'create database'將會是'psql'中運行的SQL語句。 –

回答

2

錯誤消息告訴您什麼是錯誤的。改變.pgpass的權限:

chmod u=rw $HOME/.pgpass 

同樣,除非你編輯的錯誤消息,並沒有這麼說,你似乎會試圖連接爲用戶...。我想你看的例子是這樣說:

psql -U "..." template1 

,並假設你會取代「...」與實際

5

你有一個警告和一個錯誤。

  • 您可以通過線在你的終端命令處理警告:

    $ chmod 600 ~/.pgpass 
    
  • 當你寫在你的終端「PSQL」,Postgres的DBMS嘗試使用連接到一個數據庫中的計算機名稱,但它找不到它。另一方面,Postgrest在安裝時創建一個名爲「postgres」的數據庫,所以試着連接到這個數據庫並創建你的數據庫。你可以用這個命令連接到「Postgres的」數據庫很容易:

    $ psql postgres 
    
  • 如果你得到/tmp/.s.PGSQL.5432了「關於Unix域套接字連接‘’?」錯誤使用此命令啓動數據庫:

    $ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 
    
  • 檢查的結果與此命令:

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