摘要:使用數據庫會自動的根據從某幾個片中讀取數據。更加詳細的請參考德哥文章
官方地址:https://github.com/postgrespr...
關于pathman的原理和優化問題,請移步至https://yq.aliyun.com/article...
檢查環境變量
如果直接執行psql命令提示command not found則執行下面的命令設置環境變量
root@host# PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin # 就是postgresql的安裝路徑 root@host# export PATH
主要是PG_CONFIG
安裝
root@host# tar xf pg_pathman.tar.gz root@host# cd pg_pathman root@host# make USE_PGXS=1 root@host# make install
安裝插件到數據庫
# psql -U 用戶名 -h 主機localhost -d 數據庫名稱 -p 端口5432 -c "create extension pg_pathman"
創建主表
# psql -U 用戶名 -h 主機localhost -d 數據庫名稱 -p 端口5432 -c "create table test (id serial8 primary key, area_id bigint not null, name varchar(100) not null, age integer not null default 0)"
創建一個地區表,area_id為地區id
創建分區
創建hash分區
# psql -U 用戶名 -h 主機localhost -d 數據庫名稱 -p 端口5432 -c "select create_hash_partitions(test,"area_id",10,false)"
參數解析:create_hash_partitions(表名,"分區字段",分幾個區,是否立即開始轉移數據)
創建range分區
# psql -U 用戶名 -h 主機localhost -d 數據庫名稱 -p 端口5432 -c "select create_range_partitions(test,"age",0,100,1,false)"
參數解析:select create_range_partitions(表名,分區字段,從幾開始,到幾結束,數據間隔,每間隔X創建一個表,是否立即遷移數據)
range分區還有一種方法按照時間比如:
select create_range_partitions(表名,分區字段, 從什么時間開始如"YYYY-mm-dd HH:ii:ss"::timestamp, interval "1 month", 總共創建幾個表, 是否立即遷移數據 )
同一個表hash和range只能創建一個規則的分區
分區命令執行完畢后能立刻看到已經創建完成了N個子表,但是由于剛才設置是否立即遷移數據都是false,所以還需要執行select partition_table_concurrently(表名,每次處理幾條數據,失敗嘗試等待秒數)開始遷移數據
遷移完成后,執行select count(*) from only test可以看到已經沒有任何數據了(注意only)
count ------- 0 (1 row)
使用SQLselect * from test where area_id = 1 order by id asc limit 10數據庫會自動的根據area_id從某一個分片中讀取數據。
使用SQLselect * from test where age > 10 order by id asc limit 10數據庫會自動的根據age從某幾個片中讀取數據。
更加詳細的請參考 德哥文章:https://yq.aliyun.com/article...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39004.html
摘要:在技術探索中,選擇了更適合云數據庫場景的架構和引擎設計。目前,巨杉數據庫付費企業級客戶與社區用戶總數超過家,并已在超過家強級別的銀行保險證券等大型金融機構核心生產業務上線。這一整體架構設計相信是云數據發展的主流架構設計。 分布式數據庫技術發展多年,但是在應用、業務的驅動下,分布式數據庫的架構一直在不斷發展和演進。 開源金融級分布式數據庫SequoiaDB,經過6年的研發,堅持從零開始打...
摘要:創建自動分區采用兩種方式采用視圖分區方式采用直接分區方式創建表創建索引采用視圖分區方式建立視圖定義分表保證分區后的可以自增按照時間進行分區分表觸發器定義更新更新觸發器直接分區方式分表觸發器兩種方式比較視圖分區所有操作都是對視圖的操 創建自動分區采用兩種方式 采用視圖分區方式 采用直接分區方式 創建表 CREATE TABLE IF NOT EXISTS public.sales...
摘要:年之前,微信支付業務快速發展,需要一款數據庫能夠安全高效的支撐微信支付商戶系統核心業務,這個重任落在了騰訊數據庫團隊自研上。由于是用于微信支付的核心數據庫,騰訊被定位為安全高效,穩定,可靠的數據庫集群。 歡迎大家前往騰訊云+社區,獲取更多騰訊海量技術實踐干貨哦~ 本文由李躍森發表于云+社區專欄李躍森,騰訊云PostgreSQL首席架構師,騰訊數據庫團隊架構師,負責微信支付商戶系統核心數...
閱讀 2837·2023-04-25 20:02
閱讀 1435·2021-11-11 16:55
閱讀 614·2021-09-26 09:46
閱讀 6205·2021-09-22 15:55
閱讀 1823·2021-08-09 13:41
閱讀 1572·2019-08-30 15:52
閱讀 2372·2019-08-30 14:13
閱讀 3289·2019-08-26 13:48