<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # pg_dumpall ## Name pg_dumpall?--?將一個PostgreSQL數據庫集群轉儲到一個腳本文件中 ## Synopsis `pg_dumpall` [`_connection-option_`...] [`_option_`...] ## 描述 pg_dumpall可以轉儲一個數據庫集群里的所有數據庫到一個腳本文件。 該腳本文件包含可以用于作為[psql](#calibre_link-23)輸入的SQL命令, 從而恢復數據庫。它通過對數據庫集群里的每個數據庫調用[pg_dump](#calibre_link-437) 實現這個功能。pg_dumpall還轉儲出所有數據庫公用的全局對象。 而pg_dump并不保存這些對象。 這些信息包括數據庫用戶和組、表空間,以及性能如適用于整個數據庫的訪問權限。 因為pg_dumpall從所有數據庫中讀取表, 所以你很可能需要以數據庫超級用戶的身份連接,這樣才能生成完整的轉儲。同樣, 你也需要超級用戶的權限執行保存下來的腳本,這些才能增加用戶和組,以及創建數據庫。 SQL 腳本將寫出到標準輸出。使用[-f|file]選項或 shell 操作符把它重定向到文件。 pg_dumpall需要和PostgreSQL 服務器連接多次(每個數據庫一次)。如果你使用口令認證,可能每次都會詢問口令。 這種情況下寫一個`~/.pgpass`可能會比較方便。 參閱[Section 31.15](#calibre_link-457)獲取更多信息。 ## 選項 下列命令行參數用于控制輸出內容和格式: `-a``--data-only` 只轉儲數據,不轉儲模式(數據定義)。 `-c` `--clean` 在轉儲結果中包含那些重建之前清理(drop)數據庫對象的 SQL 命令。 對規則和表空間的`DROP`也會添加進來。 `-f` `_filename_` `--file=``_filename_` 發送輸出到指定的文件。如果省略了這個選項,就使用標準輸出。 `-g` `--globals-only` 只轉儲全局對象(角色和表空間),而不轉儲數據庫。 `-i` `--ignore-version` 一個現在已經忽略了的廢棄選項。 `-o` `--oids` 作為數據的一部分,為每個表都輸出對象標識(OID)。 如果你的應用需要OID字段的話(比如在外鍵約束中用到),那么使用這個選項。 否則,不應該使用這個選項。 `-O` `--no-owner` 不把對象的所有權設置為對應源數據庫。pg_dumpall默認發出 `ALTER OWNER`或`SET SESSION AUTHORIZATION` 語句以設置創建的數據庫對象的所有權。如果這些腳本將來沒有被超級用戶 (或者擁有腳本中全部對象的用戶)運行的話將會失敗。`-O` 選項就是為了讓該腳本可以被任何用戶恢復并且將腳本中對象的所有權賦予該選項指定的用戶。 `-r` `--roles-only` 只轉儲角色,不轉儲數據庫或表空間。 `-s` `--schema-only` 只輸出對象定義(模式),不輸出數據。 `-S` `_username_` `--superuser=``_username_` 指定關閉觸發器時需要用到的超級用戶名。它只有使用了`--disable-triggers` 的時候才有影響。一般情況下最好不要輸入這個參數,而是用超級用戶啟動生成的腳本。 `-t` `--tablespaces-only` 只轉儲表空間,不轉儲數據庫或角色。 `-v` `--verbose` 指定冗余模式。這樣將令pg_dumpall 輸出轉儲文件的啟停時間和進度信息到標準錯誤上。它將同時啟用pg_dump的冗余輸出。 `-V` `--version` 打印pg_dumpall的版本然后退出。 `-x` `--no-privileges` `--no-acl` 禁止轉儲訪問權限(grant/revoke 命令)。 `--binary-upgrade` 這個選項用于本地升級工具。不建議也不支持用于其他目的。 該選項的性能可能會在將來的版本中改變。 `--column-inserts` `--attribute-inserts` 把數據轉儲為帶有明確字段名的`INSERT`命令(`INSERT INTO` `_table_` (`_column_`, ...) VALUES ...)。這樣會導致恢復非常緩慢,它主要用于制作那種可以用于其它非 PostgreSQL數據庫的轉儲。 `--disable-dollar-quoting` 這個選項關閉使用美元符界定函數體。強制它們用 SQL 標準的字符串語法的引號包圍。 `--disable-triggers` 這個選項只是和創建僅有數據的轉儲相關。它告訴pg_dumpall 包含在恢復數據時臨時關閉目標表上觸發器的命令。如果在表上有參照完整性檢查或者其它觸發器, 而恢復數據的時候不想重載他們,那么就應該使用這個選項。 目前,為`--disable-triggers`發出的命令必須以超級用戶來執行。因此, 你應該同時用`-S`聲明一個超級用戶名, 或者最好是用一個超級用戶的身份來啟動這個生成的腳本。 `--inserts` 把數據轉儲為`INSERT`命令(而不是`COPY`)。 這樣將令恢復過程非常緩慢,這個選項主要用于制作那種可以用于其它非 PostgreSQL數據庫的轉儲。請注意, 如果你重新排列了字段順序,那么恢復可能會完全失敗。`--column-inserts` 更安全,但是也更慢。 `--lock-wait-timeout=``_timeout_` 在轉儲開始的時候不要等待請求一個共享表鎖。相反,如果無法在指定的 `_timeout_`內鎖住表則失敗。 timeout可以用任意`SET statement_timeout`接受的格式聲明。 允許的值依賴于你轉儲的服務器版本,但是自7.3以來,所有的版本都接受毫秒的整數值。 當從7.3以前的版本服務器中轉儲時,省略該選項。 `--no-security-labels` 不轉儲安全標簽。 `--no-tablespaces` 不要輸出為對象創建表空間或選擇表空間的命令。有了該選項, 所有對象在轉儲期間都將在缺省的表空間中創建。 `--no-unlogged-table-data` 不要轉儲未記錄表的內容。該選項對于表定義(模式)是否轉儲沒有影響;它只阻止轉儲表的數據。 `--quote-all-identifiers` 強制給所有標識符加上引號。這在轉儲一個數據庫到一個可能引入了額外關鍵字的新版本中時可能是有用的。 `--use-set-session-authorization` 輸出符合 SQL 標準的`SET SESSION AUTHORIZATION`命令而不是`ALTER OWNER` 命令來確定對象所有權。這樣令轉儲更加符合標準,但是如果轉儲文件中的對象的歷史有些問題, 那么可能不能正確恢復。 `-?` `--help` 顯示關于pg_dumpall命令行參數的幫助然后退出。 下面的命令行參數控制數據庫的連接參數。 `-d` `_connstr_` `--dbname=``_connstr_` 指定用于連接到服務器的參數,作為連接字符串。參閱[Section 31.1.1](#calibre_link-458)獲取更多信息。 為了與其他客戶端應用保持一致,這個選項被叫做`--dbname`,但是因為 pg_dumpall需要連接到多個數據庫,所以連接字符串中的數據庫名將會省略。 使用`-l`選項指定用于轉儲全局對象的數據庫名和找出應該轉儲的其他數據庫。 `-h` `_host_` `--host=``_host_` 指定運行服務器的主機名。如果數值以斜杠開頭,則被用作到 Unix 域套接字的路徑。 缺省從`PGHOST`環境變量中獲取(如果設置了的話),否則,嘗試一個 Unix 域套接字連接。 `-l` `_dbname_` `--database=``_dbname_` 指定用于轉儲全局對象的數據庫名和找出應該轉儲的其他數據庫。如果沒有聲明, 將使用`postgres`數據庫,如果`postgres`數據庫不存在, 則使用`template1`。 `-p` `_port_` `--port=``_port_` 指定服務器正在偵聽的 TCP 端口或本地 Unix 域套接字文件的擴展(描述符)。 缺省使用`PGPORT`環境變量(如果設置了的話),否則,編譯時的缺省值。 `-U` `_username_` `--username=``_username_` 連接的用戶名。 `-w` `--no-password` 從不發出密碼提示問題。如果服務器要求密碼認證并且密碼不可用于其他意思如 `.pgpass`文件,則連接嘗試將會失敗。 該選項在批量工作和不存在用戶輸入密碼的腳本中很有幫助。 `-W` `--password` 強制pg_dumpall在連接到數據庫之前提示一個密碼。 這個選項從來不是至關重要的,因為如果服務器需求密碼認證,則pg_dumpall 自動提示一個密碼。不過,pg_dumpall 將在找出服務器想要一個密碼上浪費一個連接嘗試。在某些情況下,值得輸入`-W` 以避免額外的連接嘗試。 請注意,密碼提示將在每個要轉儲的數據庫上發生。通常,建立一個`~/.pgpass` 文件比依賴于手動輸入密碼好的多。 `--role=``_rolename_` 指定創建轉儲的角色名。這個選項導致連接到數據庫之后pg_dumpall 發出一個`SET ROLE` `_rolename_`命令。 當認證的用戶(通過`-U`指定)缺乏pg_dumpall所需的權限時是很有用的, 可以轉變成有所需權限的角色。一些安裝有反對作為超級用戶直接登錄的政策, 使用這個選項允許轉儲不違反該政策。 ## 環境變量 `PGHOST` `PGOPTIONS` `PGPORT` `PGUSER` 缺省連接參數。 這個功用,類似大多數其他PostgreSQL實用工具, 也使用由libpq支持的環境變量(參閱[Section 31.14](#calibre_link-39))。 ## 注意 因為pg_dumpall在內部調用pg_dump, 所以,一些診斷信息可以參考pg_dump。 恢復完之后,建議在每個已恢復的對象上運行`ANALYZE`。 這樣優化器就可以得到有用的統計。你也可以用`vacuumdb -a -z`清理所有數據庫。 pg_dumpall要求所有需要的表空間目錄在進行恢復之前就必須存在, 否則在非標準位置創建數據庫將會失敗。 ## 例子 轉儲所有數據庫: ``` <samp class="literal">$</samp> <kbd class="literal">pg_dumpall > db.out</kbd> ``` 從該文件中恢復數據庫: ``` <samp class="literal">$</samp> <kbd class="literal">psql -f db.out postgres</kbd> ``` 執行這個命令的時候連接到哪個數據庫無關緊要,因為pg_dumpall 創建的腳本將會包含恰當的創建和連接數據庫的命令。 ## 又見 看看[pg_dump](#calibre_link-437)獲取可能的錯誤條件的詳細信息。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看