資料庫PostrageSQL 預置選項

2021-10-10 12:12:32 字數 2193 閱讀 8355

下列「引數」是唯讀的,它們是在編譯或安裝postgresql時決定的。同樣,它們被排除在postgresql.conf檔案例子之外。這些選項報告特定應用可能感興趣的多種postgresql行為,特別是管理前端相關的行為。

block_size (integer)

報告乙個磁碟塊的大小。它由編譯伺服器時blcksz的值確定。預設值是 8192 位元組。有些配置變數的含義(例如shared_buffers)會被block_size影響。詳見section 19.4。

data_checksums (boolean)

報告對這個集簇是否啟用了資料校驗碼。詳見data checksums。

data_directory_mode (integer)

在unix系統上,這個引數報告啟動時data_directory所定義的資料目錄的許可權(在microsoft windows上這個引數將總是顯示0700)。更多資訊請參考group access。

debug_assertions (boolean)

報告編譯postgresql時是否啟用了斷言。 如果postgresql被編譯時定義了巨集use_assert_checking is defined when postgresql(例如通過 configure選項 --enable-cassert定義),那麼會報告已啟用。預設情況下 postgresql編譯時沒有用斷言。

integer_datetimes (boolean)

報告postgresql是否在編譯時開啟了 64 位整數日期和時間。從postgresql 10起,這個值總是on。

lc_collate (string)

報告文字資料排序使用的區域。詳見section 23.1。該值是在資料庫被建立時確定的。

lc_ctype (string)

報告決定字元分類的區域。詳見section 23.1。該值是在資料庫被建立時決定的。通常它和lc_collate一樣,但是可以為特殊應用設定成不同的值。

max_function_args (integer)

報告函式引數的最大數量。它由編譯伺服器時的func_max_args值決定的。預設值是 100個引數。

max_identifier_length (integer)

報告識別符號的最大長度。它由編譯伺服器時的namedatalen值減一決定。namedatalen的預設值是 64 ;因此max_identifier_length的預設值是 63,但是在使用多位元組編碼時可以少於 63 個字元。

max_index_keys (integer)

報告索引鍵的最大數目。它由編譯伺服器時的index_max_keys值決定。預設值是 32 個鍵。

segment_size (integer)

報告乙個檔案段中可以儲存的塊(頁)的數量。由編譯伺服器時的relseg_size值決定。乙個段檔案的最大尺寸(以位元組計)等於segment_size乘以block_size,預設是 1gb。

server_encoding (string)

報告資料庫的編碼(字符集)。這是在資料庫被建立時決定的。通常,客戶端只需要關心client_encoding的值。

server_version (string)

報告伺服器版本數值。它是由編譯伺服器時的pg_version值決定的。

server_version_num (integer)

報告伺服器版本數值的整數值。它是由編譯伺服器時的pg_version_num值決定的。

wal_block_size (integer)

報告乙個 wal 磁碟塊的尺寸。由編譯伺服器時的xlog_blcksz值決定。預設是 8192 位元組。

wal_segment_size (integer)

報告 wal 段檔案的大小。預設是 16mb。詳見section 30.4。

資料庫PostrageSQL 架構

邏輯複製從拷貝發布者資料庫上的資料庫快照開始。拷貝一旦完成,發布者上的更改會在它們發生時實時傳送給訂閱者。訂閱者按照資料在發布者上被提交的順序應用資料,這樣任意單一訂閱中的publication的事務一致性才能得到保證。訂閱者資料庫上的應用程序總是將session replication role設...

資料庫PostrageSQL 啟動資料庫伺服器

在任何人可以訪問資料庫前,你必須啟動資料庫伺服器。資料庫伺服器程式是postgres,它必須知道在 能找到它要用的資料。這是用 d選項實現的。因此,啟動伺服器最簡單的方法是 postgres d usr local pgsql data這將把伺服器放在前台執行。這個步驟同樣必須以postgresql...

資料庫PostrageSQL 鎖管理

deadlock timeout integer 這是進行死鎖檢測之前在乙個鎖上等待的總時間 以毫秒計 死鎖檢測相對昂貴,因此伺服器不會在每次等待鎖時都執行這個它。我們樂觀地假設在生產應用中死鎖是不常出現的,並且只在開始檢測死鎖之前等待一會兒。增加這個值就減少了浪費在無用的死鎖檢測上的時間,但是減慢...