成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

關于postgresql文檔的信息

【轉】PostgreSQL多行變一行

PGSQL多行聚合,PGSQL多行合并為一行,PGSQL多行合并

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供西盟網(wǎng)站建設、西盟做網(wǎng)站、西盟網(wǎng)站設計、西盟網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、西盟企業(yè)網(wǎng)站模板建站服務,十余年西盟做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

《PostgreSQL 多行變一行》

《PostgreSQL官方文檔-聚集函數(shù)》

array_agg(distinct(字段名)) 去重后可以獲得拼接唯一的字段

技術文檔 - PostgreSQL 性能優(yōu)化之 fsync 參數(shù)

目 錄

總 結

PostgreSQL 通過調用系統(tǒng) fsync() 或者其他使得事務內容寫入到物理磁盤,這樣可以保證操作系統(tǒng)或者數(shù)據(jù)庫出現(xiàn)宕機后,仍然可以恢復到某一個一致性的狀態(tài)。理論上講 PostgreSQL 的 fsync 功能關閉,可以實現(xiàn)性能的提升,但是帶來的影響就是需要承擔數(shù)據(jù)的丟失,因為出現(xiàn)系統(tǒng)宕機或者數(shù)據(jù)庫崩潰的時候有一些數(shù)據(jù)是沒有落盤的。

本文將驗證 fsync 參數(shù)的性能影響,以及參數(shù)關閉時數(shù)據(jù)庫宕機后的影響。

數(shù)據(jù)量:1000W

fsync 參數(shù):on

初始化表:user_info

pgbench 壓測

pgbench 結果

pgbench 壓測

pgbench 結果

數(shù)據(jù)量:1000W

fsync 參數(shù):off

初始化表:user_info

pgbench 壓測

pgbench 結果

pgbench 壓測

pgbench 結果

通過對比發(fā)現(xiàn),將 fsync 改為 off,對于讀 TPS,參數(shù) fsync 的影響不大,對于寫 TPS,性能有一定提升。

現(xiàn)在驗證參數(shù)關閉時數(shù)據(jù)庫宕機后的影響

首先,使用將數(shù)據(jù)庫性能跑起來

然后,模擬服務器斷電

之后,啟動數(shù)據(jù)庫

提示信息:比致命錯誤還過分的錯誤。

結果:數(shù)據(jù)庫無法啟動,原因就是因為無法找到一個有效的 checkpoint 記錄,這就是因為 fsync 設置為 off,由于數(shù)據(jù)庫異常宕機導致??梢酝ㄟ^使用 pg_resetxlog 恢復數(shù)據(jù)庫,但是會造成部分數(shù)據(jù)無法找回,數(shù)據(jù)丟失;也可以通過備份恢復,同樣也會丟失部分數(shù)據(jù)。

fsync 參數(shù)對于讀 TPS 的性能影響不大,對于寫 TPS 的性能有一些影響,設置為 off,寫 TPS 性能有一定提升,但是存在數(shù)據(jù)庫宕機后無法正常啟動,即使恢復后啟動數(shù)據(jù)庫,也會有數(shù)據(jù)丟失的很大風險。因此生產環(huán)境非必要時,不要將此參數(shù)設置為 off,還是使用默認的 on 比較穩(wěn)妥。

PostgreSQL如何導入數(shù)據(jù)

用我寫的軟件可以用excel導入到postgresql,你上網(wǎng)找fitreport就行了。

或者這樣做:

可以寫語句或采用以下的方法

網(wǎng)上轉錄下來的方法:

步驟:

1.將excel表格字段,按照postgresql

數(shù)據(jù)庫中表的字段順序來整理數(shù)據(jù),并保存為csv文件。

2.用記事本打開csv文件,另存為utf-8格式。

3.使用pgadmin客戶端鏈接postgresql數(shù)據(jù)庫,執(zhí)行如下腳本,導入csv文件到postgresql數(shù)據(jù)表:

copy

testdata

from

'd:/test/testdata.csv'

delimiter

as','

csv

quote

as

'"'

注:testdata

是postgresql數(shù)據(jù)庫表的名稱。

注意事項:

1.test目錄需要賦予postgres

用戶可讀寫的權限,否則會有如下報錯信息:

error:

could

not

open

file

"d:/testdata2.csv"

forwriting:

permission

denied

2.csv文件要為utf-8格式,否則導入時可能會有報錯:

error:

invalid

bytesequence

for

encoding

"utf8":

0xcdf5

3.注意windows環(huán)境下文件路徑的表述方式,如:d:/test/data.csv

PostgreSQL全文檢索簡介

PostgreSQL自帶有一個簡易的全文檢索引擎,可以實現(xiàn)小規(guī)模數(shù)據(jù)量的全文檢索功能。本文我們將引導介紹一下這個功能,對于小數(shù)據(jù)量的搜索這個功能是足夠使用的,而無需搭建額外的ES等重量級的全文檢索服務器。

PG的全文檢索操作符是 @@ ,當一個 tsvector (文檔)和 tsquery (條件)匹配時返回 true ,并且前后順序無影響:

和普通的SQL查詢一樣,只要在 WHERE 條件中使用這個符號就代表使用全文檢索條件篩選文檔了。如:

@@ 操作符支持隱式轉換,對于 text 類型可以無需強類型轉換( ::tsvector 或 to_tsvector(config_name, text) ),所以這個操作符實際支持的參數(shù)類型是這樣的:

tsquery 查詢條件并不是簡單的正則,而是一組搜索術語,使用并且使用布爾操作符 (AND)、 | (OR)和 ! (NOT)來組合它們,還有短語搜索操作符 - (FOLLOWED BY)。更詳細的語法參見 此文檔 。

此外,PostgreSQL還提供了兩個相對簡化的版本 plainto_tsquery 和 phraseto_tsquery 。

plainto_tsquery ( plainto_tsquery([ config regconfig, ] querytext text) returns tsquery )用戶將未格式化的 text 經(jīng)過分詞之后,插入 符號轉為 tsquery :

phraseto_tsquery ( phraseto_tsquery([ config regconfig, ] querytext text) returns tsquery )行為和 plainto_tsquery 行為類似,但是分詞之后不是插入 而是 - (FOLLOWED BY):

使用索引可以加快全文檢索的速度。對于全文檢索來說,可選的索引類型是 GIN (通用倒排索引)和 GIST (通用搜索樹),官方文檔更推薦使用 GIN索引 。創(chuàng)建一個 GIN 索引的范例:

也可以是一個連接列:

還可以單獨創(chuàng)建一個 tsvector 列,為這個列創(chuàng)建索引:

除了普通的 ORDER BY 條件之外,PostgreSQL為全文檢索提供了兩個可選的排序函數(shù) ts_rank([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 和 ts_rank_cd([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 ,以便實現(xiàn)基于 權重 的排序。

此外,對于PostgreSQL 9.6以上的版本還可以使用 RUM index 排序。(注意,這個是擴展,默認不包含)。

PostgreSQL默認的分詞字典中并不包含中文分詞字典,因此我們必須手工引入。目前一個比較好的項目是 zhparser ,同時這個插件也是阿里云的RDS默認包含的。安裝和啟用沒什么好說的。值得一提的是分詞配置參數(shù)。

在 CREATE EXTENSION 之后,必須配置分詞參數(shù)才能正確進行分詞和查找,否則什么都查不到。官方文檔提供的一個配置策略是:

n,v,a,i,e,l 這幾個字母分別表示一種token策略,只啟用了這幾種token mapping,其余則被屏蔽。具體支持的參數(shù)和含義可以用 \dFp+ zhparser 顯示:

WITH simple 表示詞典使用的是內置的simple詞典,即僅做小寫轉換。根據(jù)需要可以靈活定義詞典和token映射,以實現(xiàn)屏蔽詞和同義詞歸并等功能。

比如我們看下面這個例子:

可以看到 江淮 這個詞組在查詢的時候被忽略了,我們啟用 j (abbreviation,簡稱)再看看結果:

所以實際使用中要設置合理的token types,過少將導致搜索結果不準確,過多將導致性能下降。此外,還有一些諸如 短詞復合: zhparser.multi_short = f 這一類的控制分詞結果的選項,根據(jù)實際使用酌情開啟。

網(wǎng)頁標題:關于postgresql文檔的信息
網(wǎng)站鏈接:http://jinyejixie.com/article34/dsdgcpe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站收錄用戶體驗、全網(wǎng)營銷推廣定制開發(fā)、外貿建站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
盘山县| 贺州市| 泸水县| 河南省| 遵义县| 盘锦市| 延寿县| 新余市| 兰考县| 崇州市| 泰州市| 巴林左旗| 繁峙县| 高雄市| 琼中| 剑阁县| 通州市| 阿拉尔市| 彭州市| 大连市| 红安县| 手游| 青神县| 和田县| 南和县| 新密市| 盐津县| 千阳县| 共和县| 克拉玛依市| 旺苍县| 桐柏县| 汝阳县| 营口市| 巴彦淖尔市| 汝州市| 牡丹江市| 南康市| 彰武县| 玛纳斯县| 马龙县|