2014-02-22 57 views
0

我有一個數據庫目前具有正確的權限。我試圖創建一個副本,但我無法獲得相同的權限。在postgres中授予數據庫訪問權限

我創建了一個轉儲

pg_dump database1 > dbdump

然後創建一個數據庫

createdb database2

然後我用轉儲恢復新創建的數據庫。

psql database2 < dbdump

要查看的權限,我做了\l,我有以下幾點:

        List of databases 
    Name | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+----------+----------+-------------+-------------+----------------------- 
database1 | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | =T/postgres   + 
      |   |   |    |    | postgres=CTc/postgres+ 
      |   |   |    |    | root=CTc/postgres 
database2 | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | 
postgres | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | 
template0 | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   + 
      |   |   |    |    | postgres=CTc/postgres 
template1 | postgres | UTF8  | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   + 
      |   |   |    |    | postgres=CTc/postgres 
(5 rows) 

正如你所看到的,訪問權限不在DATABASE2一樣。

我嘗試下面的命令,

GRANT ALL ON ALL TABLES IN SCHEMA public TO root;

,但似乎並沒有改變任何東西,並使用用戶名/密碼,我可以與數據庫1我不能登錄到數據庫通過SSH。

回答

1

檢查您的pg_hba.conf文件,該文件指定哪個用戶可以使用哪種身份驗證機制將哪個主機連接到哪個數據庫。

您可能希望將其基於工作初始數據庫中的文件內容。

相關問題