PostgreSQL 中的全域性可配置變數

2021-06-13 21:50:54 字數 826 閱讀 7373

在 postgresql 資料庫的 查詢代價計算中,會看到有如下的變數:

seq_page_cost; //順序讀頁代價

random_page_cost; //隨機讀頁代價

等等。這些變數在資料庫安裝後我們可以通過兩種方式來修改並生效:

1. )  在 psql 中通過 set、show 命令,如

seq_page_cost 預設值為 1

psql postgres 進入資料庫

postgres > show seq_page_cost;

postgres > set seq_page_cost = 2.5;

(ps: 因為 seq_page_cost 為 double 型)

postgres > show seq_page_cost;

2.5note: set 設定的值只在當前 session 中有效。想讓值長期有效,請看 2)

2. )修改 pg安裝路徑/data 目錄下的 postgresql.conf 的配置檔案

如:#seq_page_cost = 1 改為

seq_page_cost = 2

如果當前資料庫已經啟動,再執行

pg安裝路徑/bin/pg_ctl -d pg安裝路徑/data reload , 讓執行中的資料庫

從而配置生效。在 psql 中執行 show 命令驗證。

可見,像 seq_page_cost 這樣的全域性可配置的變數很奇妙呀,我們不僅可以通過命令列

指令設定它, 還可以通過修改配置檔案的方式設定它。

那麼如何在 postgresql 中新增功能類似,但我們自己定義的變數了。

未完待續!

PostgreSQL中的資料結構一 可擴充套件雜湊表一

二叉樹搜尋具有對數時間的表現有個假設 輸入資料具有相當的隨機性。現在我們看雜湊表,這種資料結構,其在插入 刪除 查詢操作上也具有常數評價時間的表現,而且這種表現以統計為基礎,不依賴資料的隨機性。我們先看看pg裡的雜湊函式,再看pg裡動態雜湊表 dynmaic hashtable 我認為用 可擴充套件...

基於POSTGRESQL的全域性序列操作

使用全域性序列生成器,在業務中標記區分,比如信令的區分!import org.apache.ibatis.annotations.delete import org.apache.ibatis.annotations.insert import org.apache.ibatis.annotatio...

構建可擴充套件的PostgreSQL解決方案

願碼slogan 連線每個程式設計師的故事 願碼願景 打造全學科it系統免費課程,助力小白使用者 初級工程師0成本免費系統學習 低成本高階,幫助bat一線資深工程師成長並利用自身優勢創造睡後收入。可伸縮性是指軟體系統隨著使用它的業務增長而增長的能力。postgresql提供了一些功能,可以幫助您構建...