共用方式為


在適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器中設定伺服器參數

適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

您可以列出、顯示及更新 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例的組態參數。

參數自訂

您可以使用各種方法和層級,根據自己的特定需求來自訂參數。

全域層級

若要檢視伺服器參數的目前設定值,或在實例或伺服器層級全域變更它們,您可以使用 Azure 入口網站 中的 [伺服器參數] 頁面。 您也可以使用 CLI、REST APIAzure Resource Manager 範本或第三方 IaC 工具,全域與伺服器參數互動。

注意

由於適用於 PostgreSQL 的 Azure 資料庫是受控資料庫服務,因此,使用者不具主機或作業系統存取權可檢視或修改 postgresql.conf 等設定檔。 系統會根據您所做的參數變更,自動更新檔案的內容。

在此相同文章中,您可以找到區段,以全域方式與伺服器參數互動,以:

細微層級

您可以在更細微的層級調整參數。 這些調整會覆寫全域設定的值。 其範圍和持續期間取決於您進行調整的層級:

  • 資料庫層級:針對資料庫特定的設定使用 ALTER DATABASE 命令。

  • 角色或使用者層級:使用 ALTER USER 命令,進行使用者為中心的設定。

  • 函式、程式層級:當您定義函式或程式時,您可以指定或改變呼叫函式時所使用的組態參數。

  • 資料表層級:例如,您可以修改與在此層級進行自動資料清理相關的參數。

  • 會話層級:對於個別資料庫會話的存限,您可以調整特定參數。 PostgreSQL 使用下列 SQL 命令來協助進行此調整:

    • 使用 SET 命令,進行工作階段特定的調整。 這些變更可在目前工作階段期間用來作為預設設定。 存取這些變更可能需要特定的 SET 權限,而且先前所述之可修改和唯讀參數的限制不適用。 對應的 SQL 函式為 set_config(setting_name, new_value, is_local)
    • 使用 SHOW 命令來檢查現有的參數設定。 其 SQL 函式對等項目為 current_setting(setting_name text)

列出所有伺服器參數

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段下,選取 [伺服器參數]。 此頁面會顯示參數清單、其設定的值、選擇性單位、只讀/動態/靜態,以及其描述。

    [伺服器參數] 頁面的螢幕快照。

  3. 選取或暫留在 i (資訊) 圖示上,以查看每個參數可以設定為的允許值。 根據參數的數據類型,它可以是字串、列舉、整數、布爾值、數值、設定,允許的值會有所不同。 它可以是正則表達式、值清單、整數範圍、開/關、小數範圍、值清單。

    顯示將滑鼠停留在資訊圖示上時彈出的氣球螢幕快照。

  4. 實例所支援的伺服器參數清單包含數百個專案,每個專案會以20個專案的頁面呈現。 在頁面底部,有一個控件可通知您所在的位置。 還有一個分頁控件,可用來巡覽整組頁面。

    [伺服器參數] 頁面中的分頁控件螢幕快照。

  5. 如有需要,請使用 [ 搜尋] 篩選專案... 文字框,將清單縮小到名稱或描述中包含搜尋字詞的參數。

    伺服器參數中搜尋的螢幕快照。

[ 參數類型 ] 資料行可以針對每個參數顯示下列任何值:

參數類型 描述
靜態 需要重新啟動伺服器,才能使變更生效。
動態 不需要重新啟動伺服器實例,即可加以改變。 不過,變更將只會套用至修改之後建立的新連線。
唯讀 用戶無法設定,因為它們在維護服務的可靠性、安全性或其他作業層面方面扮演了重要角色。

列出已修改預設值的伺服器參數

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段底下,選取 [伺服器參數],然後選取 [修改過的] 索引標籤。此頁面會顯示參數清單,其目前設定的值偏離預設值。

    已修改伺服器參數的螢幕快照。

列出讀寫靜態伺服器參數

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段底下,選取 [伺服器參數],然後選取 [靜態] 索引標籤。此頁面會顯示讀寫參數清單,如果變更其值,則需要重新啟動伺服器,新值才會生效。

    靜態伺服器參數的螢幕快照。

列出讀寫動態伺服器參數

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段底下,選取 [伺服器參數],然後選取 [動態] 索引標籤。此頁面會顯示讀寫參數清單,如果變更其值,則需要重新啟動伺服器,新值才會生效。

    動態伺服器參數的螢幕快照。

列出唯讀伺服器參數

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段底下,選取 [伺服器參數],然後選取 [只讀] 索引標籤。此頁面會顯示唯讀參數的清單。

    唯讀伺服器參數的螢幕快照。

設定一或多個伺服器參數的值

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段下,選取 [伺服器參數]。

  3. 找出您要變更的目前值、將其設定為新的所需值、注意資訊訊息指出尚未儲存多少伺服器參數變更,然後選取 [儲存]。

    設定伺服器參數值的螢幕快照。

  4. 如果任何參數的 Parameter 類型都等於 Static,伺服器需要重新啟動,變更才會生效。 在此情況下,對話框隨即出現,因此您可以視需要選取:

    • 儲存並重新啟動:如果您想要保存所有已修改其值的參數所做的所有變更,並在重新啟動伺服器之後立即對靜態參數進行任何變更才會生效。
    • 儲存:如果您想要保存所有已變更其設定值的參數所做的所有變更,但想要延遲伺服器重新啟動至稍後的時間。 在您未完成伺服器重新啟動動作之前,對任何靜態伺服器參數所做的變更不會生效。
    • 取消:尚未實作任何變更。

    修改靜態參數之後,要求重新啟動伺服器的對話框螢幕快照。

將一個伺服器參數還原為其預設值

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段下,選取 [伺服器參數]。

  3. 找出您要還原為預設值的目前值讀寫參數,選取 Scree 右側的省略號,然後選取 [ 重設為預設值]。

    將一個伺服器參數的值重設為預設值的螢幕快照。

重要

針對指定為只讀的參數,選取省略號不會快顯 [ 重設為預設 功能表] 選項。

  1. 如果您嘗試重設為預設值的參數參數類型數據行等於 Static,伺服器需要重新啟動,變更才會生效。 在此情況下,對話框隨即出現,因此您可以視需要選取:

    • 儲存並重新啟動:如果您想要保存所有已修改其值的參數所做的所有變更,並在重新啟動伺服器之後立即對靜態參數進行任何變更才會生效。
    • 儲存:如果您想要保存所有已變更其設定值的參數所做的所有變更,但想要延遲伺服器重新啟動至稍後的時間。 在您未完成伺服器重新啟動動作之前,對任何靜態伺服器參數所做的變更不會生效。
    • 取消:尚未實作任何變更。

    修改靜態參數值之後,要求重新啟動伺服器的對話框螢幕快照。

將所有伺服器參數還原為預設值

使用 Azure 入口網站

  1. 選取適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體。

  2. 在資源功能表中的 [設定] 區段下,選取 [伺服器參數]。

  3. 選取 [ 全部重設為預設值]。

    將所有伺服器參數的值重設為預設值的螢幕快照。

  4. 如果如果目前值不符合其預設值的任何參數,則數據行 Parameter 類型 等於 Static,伺服器需要重新啟動,變更才會生效。 在此情況下,對話框隨即出現,因此您可以視需要選取:

    • 儲存並重新啟動:如果您想要保存所有已修改其值的參數所做的所有變更,並在重新啟動伺服器之後立即對靜態參數進行任何變更才會生效。
    • 儲存:如果您想要保存所有已變更其設定值的參數所做的所有變更,但想要延遲伺服器重新啟動至稍後的時間。 在您未完成伺服器重新啟動動作之前,對任何靜態伺服器參數所做的變更不會生效。
    • 取消:尚未實作任何變更。

    在重設為預設值之後,要求重新啟動伺服器的對話框螢幕快照。

使用時區參數

如果您打算在 PostgreSQL 中使用日期和時間數據,請確定您已為位置設定正確的時區。 所有時區感知日期和時間都會以UTC在PostgreSQL內部儲存。 它們會先轉換成 TimeZone 伺服器參數所指定的區域中的當地時間,再顯示給用戶端。 您可以在 [伺服器參數] 頁面上編輯此參數。 PostgreSQL 可讓您以三種不同的形式指定時區:

  • 完整時區名稱,例如美國/New_York。 辨識的時區名稱會列在pg_timezone_names檢視中
    在 psql 中查詢此檢視並取得時區名稱清單的範例:

    select name FROM pg_timezone_names LIMIT 20;

    您應該會看到結果集,例如:

              name
          -----------------------
          GMT0
          Iceland
          Factory
          NZ-CHAT
          America/Panama
          America/Fort_Nelson
          America/Pangnirtung
          America/Belem
          America/Coral_Harbour
          America/Guayaquil
          America/Marigot
          America/Barbados
          America/Porto_Velho
          America/Bogota
          America/Menominee
          America/Martinique
          America/Asuncion
          America/Toronto
          America/Tortola
          America/Managua
          (20 rows)
      
  • 時區縮寫,例如 PST。 這類規格只會定義與UTC的特定位移,與完整的時區名稱相反,這可能也意味著一組日光節約轉換日期規則。 辨識的縮寫會列在 pg_timezone_abbrevs 檢視範例中,以 psql 查詢此檢視,並取得時區縮寫清單:

     select abbrev from pg_timezone_abbrevs limit 20;

    您應該會看到結果集,例如:

          abbrev|
          ------+
          ACDT  |
          ACSST |
          ACST  |
          ACT   |
          ACWST |
          ADT   |
          AEDT  |
          AESST |
          AEST  |
          AFT   |
          AKDT  |
          AKST  |
          ALMST |
          ALMT  |
          AMST  |
          AMT   |
          ANAST |
          ANAT  |
          ARST  |
          ART   |
      
  • 除了時區名稱和縮寫之外,PostgreSQL 還接受 STDoffset 或 STDoffsetDST 格式的 POSIX 樣式時區規格,其中 STD 是區域縮寫,offset 是 UTC 以西小時為單位的數值位移,而 DST 是選擇性的日光節約區縮寫,假設在指定位移前一小時。

與 適用於 PostgreSQL 的 Azure 資料庫 產品小組分享您的建議和錯誤。