問題現象
使用gs_guc set -A指令修改pg_hba.conf配置檔案後,配置結果如下:
# IPv4 local connections:
host all all 10.0.0.0/8 sha256
host all all 10.4.6.20/32 sha256
預期結果是僅有IP位址為10.4.6.20的用戶端可以連接配接GaussDB資料庫。
實際結果是所有IP位址為10...*網段的用戶端都可以連接配接GaussDB資料庫。
可能原因
gs_guc set -A指令将在pg_hba.cof檔案中添加一條配置項到所屬類别的最後一行,而pg_hba.conf檔案中配置項的生效規則為:前一行的規則優先生效。
如問題現象中所示,由于第一行的規則比第二行寬松,是以第二行的規則不能生效。
說明:
如果配置項是嚴格到寬松,則後面新添加的配置項能夠生效。
如果前面有更寬松的配置項,會導緻後面添加的較嚴格的配置項無法生效。
處理步驟
手動修改配置檔案,去掉前面比較寬松的配置項,僅留下需要的配置項。
# IPv4 local connections:
host all all 10.4.6.20/32 sha256
重新開機資料庫使配置生效,或 gs_ctl reload 重新加載。