postgres資料常用整理

2021-08-25 05:36:31 字數 2000 閱讀 9649

常用函式

1、字串函式

1)字串拼接:||

2)字串長度:length

3)字串擷取:substring(『fsfd』 from 2 for 3)、substr(『fsfd』,2,3)

4)字串兩頭去字元:trim(』 fsf』)、trim(both 『x』 from 『xfdsx』)

5)大小寫轉換:upper()、lower()

6)替換字串:replae(『fsfsfsf』,fs』』,『ab』)

7)把字串中某幾個連續字元替換成指定字元:overlay(『freda』 placing 『fsf』 from 2 for 4)

8)按照某個字元拆分字串:split_part(『adas|dada|ffr』,』|』,2)

9)手動資料:select * from (values (『a1』,3),(『a2』,4)) t(col,num)

10)指定字串在字串中的起始位置:position(『as』 in 『dadassa』)

3、數值計算函式

1)絕對值:abs(-12)

2)不小於引數的最小整數:ceil(-42.8)、ceiling(-42.8)———— -42

3)保留幾位小數:round(43.545345,2)

4)0.0到1.0之間的隨機數:random()

5)擷取指定位數小數:trunc(43.545,2)

4、其他常用函式

1)序號生成函式:generate_series(6,10,1)–預設間隔是1

2)列轉行:select num,string_agg(col,』,』 order by num) from (values(1,『a1』),(1,『a2』),(2,『b1』),(2,『b2』)) t(num,col) group by num;

3)行轉列:select regexp_split_to_table(col,』,』) from (values(『a2,a1』)) t(col)

4)hash函式:md5(『fsfds』)、hashbpchar(『fsfds』)

5、分析函式

1)視窗函式:

6、查詢字符集

show client_coding;

show server_coding;

7、型別轉換

1)to_char(now(), 『yyyymmddhh24miss』) =>20160720155848獲取乙個日期的年月日小時分鐘秒字串型別

2)to_date(now(), 『yyyymmdd』) =>20160720155848獲取乙個日期的年月日小時分鐘秒日期型別

3)to_number(now(),『9999999999』)=>20160702獲取乙個日期的年月日數值型別

4)to_number(now(),『9999999999999999999』)=>20160720155848獲取乙個日期的年月日小時分鐘秒數值型別

5)將字串或日期型轉換成數值型 cast(『21313』 as int)

歷史拉鍊:

----分割槽表:按失效時間分割槽儲存資料

----增量資料表:儲存每天新增、更新、刪除的資料

----臨時表1(分割槽表):分割槽表未失效資料跟增量資料表關聯,得到歷史資料及當前未失效資料

----臨時表2:先跟臨時表1裡面的當前未失效資料分割槽進行交換,載跟分割槽表昨日分割槽進行交換

然後在跟臨時表1的歷史資料分割槽進行交換,再跟分割槽表的未失效資料分割槽交換

分割槽表字段:生效時間、失效時間、型別(歷史資料、當前資料)、資料操作型別(i、d、u)、資料倉儲插入日期

增量表字段:型別(歷史資料、當前資料)、資料操作型別(i、d、u)

臨時表1:同分割槽表字段

臨時表2:同分割槽表字段

日誌分析:

----日誌表:存放日誌資料

影響查詢速度的因素:資料分布(均勻分布的時候,壓力分散到各個節點,速度相對較快,壓力相對較小;資料傾斜的時候,傾斜的主機壓力大)

索引(b-tree、bitmap、函式索引)

記憶體資料庫的資料相關整理(postgresql)

前提 資料庫採用的是postgresql,當前解決方案是直接修改資料庫相關資料,現在想通過記憶體資料庫來修改資料庫相關資料以提高io速度。當前流程圖大概如下 第一步 首先將資料庫中的資料寫入記憶體,第二步 c端需要查詢的時候,如果有資料則直接從記憶體中查詢,如果沒有資料則直接從資料庫中查,順便把查到...

常用資料整理

本問將整理常用的內容,以防止長時間不用而忘記。1.查詢xml publisher輸出xml的路徑,以便查出資料xml產生情況,便於除錯 select outfile name from fnd concurrent requests where request id 4212253,2.fnd pe...

Postgres常用命令

連線資料庫,預設的使用者和資料庫是postgres psql u user d dbname 切換資料庫,相當於mysql的use dbname c dbname 列舉資料庫,相當於mysql的show databases l列舉表,相當於mysql的show tables dt檢視表結構,相當於d...