我總是不得不給出像sudo -u postgres psql
這樣的命令才能登錄到Postgres控制檯。我有什麼,以便登錄到Postgres的像sudo psql
或psql
我無法使用普通的psql來訪問Postgres
我的工作環境是Ubuntu Linux操作系統提前12.04
感謝。
我總是不得不給出像sudo -u postgres psql
這樣的命令才能登錄到Postgres控制檯。我有什麼,以便登錄到Postgres的像sudo psql
或psql
我無法使用普通的psql來訪問Postgres
我的工作環境是Ubuntu Linux操作系統提前12.04
感謝。
安裝後,只有postgres
用戶能夠對數據庫服務器執行任何操作。安裝程序不能認爲我們想要打開對其他人的訪問權限。
給自己訪問作爲普通用戶,假設作爲一個例子,你的登錄名是joe
(正常的,非priviledged用戶),你只需要創建一個相應的用戶和數據庫:
內PSQL作爲postgres管理員(與sudo -u postgres psql
),問題:
CREATE USER joe;
CREATE DATABASE joe OWNER joe;
之後,在shell提示符下發出psql
時,默認情況下將與您的用戶名連接到自己的數據庫。直到您需要發出其他管理員命令時,您不必再申請postgres
。
感謝Daniel的幫助 – Antony 2013-02-14 09:47:43
請問
的psql -U PSQL
爲你工作?
編輯:
我以爲你會介意sudo
。
如果您的問題是輸入-U <user>
,您還可以設置環境變量PGUSER
。這也可以在shell的登錄腳本中完成,以便始終進行設置。
其他感興趣的環境變量可能是PGDATABASE
,PGHOST
,PGPORT
。
您的psql位於/ usr/bin/psql中。除非您的權限錯誤,否則您不應該使用sudo,或者除非您的鏈接錯誤。 (在PostgreSQL的後續版本中,/ usr/bin/psql是一個到可執行文件的符號鏈接,我不知道8.4版本是否是這樣的,在我的家用計算機上,它鏈接到/ usr/share/postgresql-common/pg_wrapper 。)
完整骨架語法PSQL是
psql -U username -h hostname -p portnumber database_name
因此,舉例來說,當我連接到我的數據庫從無到有(名爲「沙箱」),我不喜歡這樣。
$ psql -U postgres -h localhost -p 5432 sandbox
你會替代
我想重新構建一個問題。有沒有什麼辦法可以使用我的用戶名登錄到Postgres,就像'sudo psql'一樣,默認情況下都是其他的。除此之外別名是一個答案。我們可以將我的用戶名添加到相應的組中嗎 – Antony 2013-02-13 12:55:16
'哪個psql'的輸出是什麼? (在終端提示符下輸入。)你是否安裝了8.4和9.2? – 2013-02-13 11:46:49
/usr/bin/psql我只安裝了8.4。 – Antony 2013-02-13 12:22:08
你需要更詳細地描述你到底想要達到什麼目的,究竟是什麼問題。你想用哪個數據庫用戶登錄?什麼是你用來啓動'psql'的操作系統用戶? – 2013-02-13 12:42:56