2013-08-16 39 views
0

我有一個用戶在pgAdmin中的登錄角色下創建。用戶名是'myApp'。PostgreSQL用戶的特權數據庫列表

這裏是創建它的pgsql語法。

CREATE ROLE myApp LOGIN 
    ENCRYPTED PASSWORD 'md58e0b379fc6e92422518682611bcf2d42' 
    NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; 

所有這些日子裏,我有我的應用程序開發的yii框架連接到數據庫與超級用戶在我的最後。這是...用戶「的Postgres

,但做一個釋放後最近我開始瞭如下錯誤

enter image description here

,我發現它的,因爲我已設置權限的對myApp新創建表的用戶角色,但錯過了相同的序列,所以我寫了下面的腳本來解決..

GRANT ALL ON TABLE css_ataps_client_outgoing_call_dates_id_seq TO myAppAdmin; 
GRANT SELECT, UPDATE ON TABLE css_ataps_client_outgoing_call_dates_id_seq TO myApp; 

現在我需要啓用我的應用程序連接到數據庫使用相同的登錄名爲我的生產應用程序是myApp但不是postgres

但不幸的是它不工作,除非我使用postgres用戶。試圖與myApp用戶連接時出現的錯誤是什麼都沒有。甚至沒有記錄在日誌中。所以我可以確認登錄細節是相同的,它的工作和問題可能是用戶myApp不具有讀/寫訪問任何單個表。 所以我想檢查數據庫中哪個表沒有權限,反之亦然。

請告訴我一個方法來找到這個。謝謝。

回答

1

這樣做。試着讓我知道。

GRANT ALL ON DATABASE <ur database name> TO myApp; <- not this 

請嘗試此查詢..!

GRANT SELECT,UPDATE,INSERT,DELETE ON ALL TABLES IN SCHEMA public TO myApp; 
+1

GRANT ALL ON DATABASE myDatabaseName TO myApp; – dev1234