閱讀565 返回首頁    go 阿裏雲


邏輯備份及恢複__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲

本章介紹從 RDS for PPAS 實例進行邏輯備份和恢複的步驟。

操作步驟

  1. 安裝 PPAS 程序。

    注意:必須使用 PPAS 二進製進行導出,使用 Postgresql 社區版二進製會報錯。

    Windows版下載地址:https://yunpan.taobao.com/s/2Y03fmh7PF0 (提取碼:VAXVAc)

    Linux版下載地址:https://yunpan.taobao.com/s/1H1T5Kqog8s (提取碼:561TH4)

  2. 將所有用戶權限賦給一個用戶(用於數據導出)。

    例如:如果導出時使用的用戶為 A,而數據庫中還有 B,C 兩個用戶,則需要執行下麵的命令,把 B 和 C 的權限賦給 A。

    1. --以用戶B登錄,然後執行:
    2. grant B to A;
    3. --再以用戶A登錄,然後執行:
    4. grant C to A;

    這樣,A 就有了訪問所有 B 和 C 的數據表的權限。

  3. 在 pg_dump 所在目錄,執行下麵的命令進行備份。

    1. ./pg_dump -h <host> -p <port> -U <user> -f dump.sql <dbname>
  4. 如果需要恢複,可以在 psql 所在目錄執行如下命令。

    1. ./psql -h <host> -p <port> -U <user> -d postgres -c "drop database <dbname>"
    2. ./psql -h <host> -p <port> -U <user> -d postgres -c "create database <dbname>"
    3. ./psql -h <host> -p <port> -U <user> -f dump.sql -d <dbname>

常見問題

  1. 從PPAS導出遇到如下權限錯誤。

    1. ERROR: permission denied for relation product_component_version
    2. LOCK TABLE sys.product_component_version IN ACCESS SHARE MODE

    解決方案:這是由於用戶使用 PG 的 pg_dump 程序導出 PPAS 造成的。使用 PPAS 的二進製即可。PPAS 的下載方法見上麵的步驟。

  2. 從PPAS導出遇到如下權限錯誤。

    1. ERROR: permission denied for relation <用戶表>

    解決方案:這是由於導出時使用的賬號沒有訪問其他用戶數據的權限導致。解決方法為(如果用戶可以接受),將其他用戶的權限都授權給一個用戶,再用這個用戶導出,即執行如下命令。

    1. GRANT ROLE <other roles>,<other roles> to <user for pg_dump>
  3. 使用pg_dump時遇到如下問題。

    1. pgdump -U xxx -h yyy -p3433 <dbname> -f my.sql
    2. pg_dump: 命令行參數太多(第一個是”-f)

    解決方案:在 windows 平台執行 pg_dump 時,必須把 <dbname> 放在所有其他參數後麵。

  4. 使用 pg_dump 時報參數錯誤。

    解決方案:可能是參數指定不正確,如:pg_dump -Uxxx -h yyy,這種方式是不允許的, -U 後麵要有空格(其他參數類似)。

最後更新:2016-11-23 16:04:17

  上一篇:go 使用 DTS 遷移 PPAS 數據__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲
  下一篇:go 附錄:PPAS 開發驅動程序__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲