我已經爲我的Postgres數據庫創建了一個用戶,但是我無法使用我設置的用戶訪問數據。爲什麼我創建的postgres用戶被拒絕訪問表?
在Python殼我已經運行下面的代碼:
>>> import psycopg2
>>> conn=psycopg2.connect(
database="db",
user="postgres",
host="/tmp/",
password="opensesame"
)
>>> cur = conn.cursor()
>>> state = 'Arkansas'
>>> cur.execute("SELECT city FROM table WHERE state = %s", (state,))
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
cur.execute("SELECT city FROM table WHERE state = %s", (state,))
ProgrammingError: permission denied for relation table
成爲超級用戶,我曾嘗試:
db=# ALTER USER postgres SET TO default
,但它並沒有幫助
我需要得到此用戶訪問此表,任何幫助將不勝感激。感謝您的觀看。
我相信您的主機應該是IP或主機名 – dm03514 2013-03-02 00:15:46
您是否爲Openseaseme數據庫設置了Postgres的用戶權限?你必須明確授予它權限。 – gmaliar 2013-03-02 00:16:14
@Guy不,我沒有。我是postgres noob。如果你發佈了關於如何做到這一點的鏈接,或者告訴我它在文檔中的位置,我會除了答案(如果有效的話)。或者你可以成爲一個親愛的人,向我展示命令作爲這個問題的答案。 – 2013-03-02 00:21:04