<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initdb會創建一個新的PostgreSQL數據庫集簇。一個數據庫集簇是由一個單一服務器實例管理的數據庫的集合。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一個數據庫集簇的創建包括創建存放數據庫數據的目錄、生成共享目錄表(屬于整個集簇而不是任何特定數據庫的表)并且創建`template1`和`postgres`數據庫。當你后來創建一個新的數據庫時,任何在`template1`數據庫中的東西都會被復制(因此,任何已安裝在`template1`中的東西都會被自動地復制到后來創建的每一個數據庫中)。postgres數據庫是便于用戶、工具和第三方應用使用的默認數據庫。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于安全原因,由`initdb`創建的新集簇默認將只能由集簇擁有者訪問。`--allow-group-access`選項允許與集簇擁有者同組的任何用戶讀取集簇中的文件。這對非特權用戶執行備份很有用。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initdb可以通過`pg_ctl initdb`被調用。 **命令格式:** initdb [option...] [--pgdata \| -D] directory > **option:** > * **-A , --auth=METHOD**:這個選項為本地用戶指定在`pg_hba.conf`中使用的默認認證方法(`host`和`local`行)。`initdb`將使用指定的認證方法為非復制連接以及復制連接填充`pg_hba.conf`項 > * --auth-host=METHOD:這個選項為通過 TCP/IP 連接的本地用戶指定在`pg_hba.conf`中使用的認證方法(`host`行) > * --auth-local=METHOD:這個選項為通過 Unix 域套接字連接的本地用戶指定在`pg_hba.conf`中使用的認證方法(`local`行) > * **[-D, --pgdata=]DATADIR**:指定數據庫集簇應該存放的目錄,可通過設置`PGDATA`環境變量來生效 > * **-E, --encoding=ENCODING** :選擇模板數據庫的編碼。這也將是后來創建的任何數據庫的默認編碼 > * **-g, --allow-group-access**: 允許與集簇擁有者同組的用戶讀取`initdb`創建的所有集簇文件 > * --locale=LOCALE:為數據庫集簇設置默認區域 > * --lc-collate=, --lc-ctype=, --lc-messages=LOCALE > * --lc-monetary=, --lc-numeric=, --lc-time=LOCALE > * --no-locale:等效于`--locale=C` > * --pwfile=FILE:讓`initdb`從一個文件讀取數據庫超級用戶的口令 > * **-T, --text-search-config=CFG**:設置默認的文本搜索配置 > * **-U, --username=NAME**:選擇數據庫超級用戶的用戶名 > * **-W, --pwprompt**:提示輸入新超級管理員的密碼 > * **-X, --waldir=WALDIR**:這個選項指定預寫式日志會被存儲在哪個目錄中 > * --wal-segsize=SIZE:設置*WAL段尺寸*,以兆字節為單位。這是WAL日志中每個文件的尺寸。默認的尺寸為16兆字節 > > **Less commonly used options:** > * **-d, --debug**:調試輸出 > * **-k, --data-checksums**:在數據頁面上使用校驗碼來幫助檢測 I/O 系統造成的損壞。啟用校驗碼將會引起顯著的性能懲罰。如果設置,則為所有對象計算校驗和,在整個數據庫中。 所有校驗和失敗都將報告在`pg_stat_database`視圖 > * **-L DIRECTORY**:指定`initdb`應從哪里尋找它的輸入文件來初始化數據庫集簇 > * **-n, --no-clean**:initdb失敗時,不清理之前創建的文件 > * **-N, --no-sync** :默認情況下,`initdb`將等待所有文件被安全地寫到磁盤。這個選項會導致`initdb`不等待就返回 > * **-s, --show** :顯示內部設置 > * **-S, --sync-only**:安全地把所有數據庫文件寫入到磁盤并退出 > * **-V, --version**:打印initdb版本并退出。 > * **-?, --help** :顯示有關initdb命令行參數的幫助并退出。 **`initdb -D $PG_DATA` 初始化過程** ``` 1.從參數中獲取到PGDATA的路徑(也可以從環境變量中獲取PG_DATA的環境變量獲取) 2.初始化如果str_wal_segment_size_mb未設置,則設置為16mb,如果設置了必須是是2的整數倍,并且檢驗wal segment的大小最大是1G,最小是1Mb 3.通過initdb 程序查找 postgres的主程序,并且校驗它的正確性 4.如果沒有指定用戶,則獲取當前執行命令的用戶,作為create cluster的主用戶(pg中用戶不能以pg_開頭,否則會初始化失敗)。 5.設置pg版本號以及設置初始化需要的資源 ($pg_installtion/share/postgres.bki,postgresql.conf.sample) 6.設置postgresql編碼,并且依據pg_enc校驗編碼是否正確 7.創建pg_data和pg_data/pg_wal目錄 8.遍歷獲取sundirs下所有的目錄,并且父目錄都是pg_data開始創建目錄,并且檢查目錄的有限性 9.把postgresql版本寫入pg_data/PG_VERSION文件并且創建postgresql.conf文件,并寫入默認配置模板 10.讀取postgres.bki 文件,替換PostgreSQL/NAMEDATALEN/SIZEOF_POINTER/ALIGNOF_POINTER/POSTGRES/ENCODING 等等,其中 NAMEDATALEN 設置了表名/列名/函數名的長度硬編碼為64個字符。并創建系統template1數據庫,并在pg_data/base/1中寫入postgresql的主版本 11. 打開 /home/perrynzhou/Database/pgsql/bin/postgres\ --single -F -O -j -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null 命令,等待執行命令 12.通過postgres主程序執行 REVOKE ALL on pg_authid FROM public 給 template1授權 13.往系統表pg_xxx插入默認的數據 14.在template1中執行system_views.sql 語句 15.初始化系統表xxx_description和pg_collation 16.執行snowball_create.sql語句,初始化授權相關的表 18.初始化information_schema表、plsql初始化 19.依據template1克隆tempalte0以及最后的創建postgres的數據庫 ```
                  <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>

                              哎呀哎呀视频在线观看