DB version: PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
我們擁有10余年網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、成都手機(jī)網(wǎng)站制作、H5開發(fā)、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
OS: CentOS Linux release 7.7.1908 (Core)
roaringbitmap: roaringbitmap-0.5
roaringbitmap插件github地址:
作者github地址里的安裝過程寫的比較簡單,一路碰到不少坑,記錄下來供參考。
1.查看當(dāng)前安裝的pg,確保只有一個(gè)版本存在
2.確認(rèn)當(dāng)前環(huán)境變量配置
3.確認(rèn)postgres主機(jī)賬號(hào)已設(shè)置密碼
4.確認(rèn)postgres主機(jī)賬號(hào)已添加至sudoers文件中
1.安裝 llvm-toolset-7-clang = 4.0.1
2.安裝 llvm5.0-devel = 5.0
3.安裝postgresql12-devel
1.make (warning不用理會(huì),沒有error即可)
2.make install(如果此步驟缺少后面的四行輸出則會(huì)遇到后面的報(bào)錯(cuò)3)
見github地址
報(bào)錯(cuò)1:未配置環(huán)境變量以及未安裝 postgresql12-devel 開發(fā)包
報(bào)錯(cuò)2:未安裝依賴包 llvm5.0-devel = 5.0 和 llvm-toolset-7-clang = 4.0.1
報(bào)錯(cuò)3.make install 步驟不完整導(dǎo)致報(bào)錯(cuò) Float8GetDatum
在PG數(shù)據(jù)庫的基礎(chǔ)上加裝zhparser中文全文搜索插件,說實(shí)話,挺怕這些單獨(dú)編譯安裝的插件的,因?yàn)榘惭bPG數(shù)據(jù)庫方法的不同,最后可能導(dǎo)致安裝的插件各種安裝不上,這里說一下我遇到的坑,系統(tǒng)環(huán)境是Centos7, yum安裝的PG9.6。
1、INSTALL
關(guān)于安裝方法,可以直接到上面看
2、make的時(shí)候缺少pgxs.mk
[root@az zhparser]# PG_CONFIG=/usr/pgsql-9.6/bin/pg_config make make installMakefile:19: /usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
make: *** No rule to make target `/usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk'. Stop.
解決方法:
[root@az zhparser]# export PATH=/usr/pgsql-9.6/bin:$PATH[root@az zhparser]# yum install [root@az zhparser]# yum install postgresql96-devel.x86_64
3、創(chuàng)建zhparser的時(shí)候提示Permission denied
ERROR: could not open file "/usr/pgsql-9.6/share/tsearch_data/qc_dict_jupiter.txt" for writing: Permission denied
HINT: COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \copy.CONTEXT: SQL statement "copy (select word, tf, idf, attr from zhparser.zhprs_custom_word) to '/usr/pgsql-9.6/share/tsearch_data/qc_dict_jupiter.txt' encoding 'utf8'"PL/pgSQL function sync_zhprs_custom_word() line 11 at EXECUTE
解決方法:
chown -R postgres:postgres /usr/pgsql-9.6/share/tsearch_data/
4、ERROR: must be superuser to alter superusers
[root@az data]# sudo -u postgres /usr/pgsql-9.6/bin/postgres --single -D /var/lib/pgsql/9.6/data/
PostgreSQL stand-alone backend 9.6backend ALTER USER postgres WITH SUPERUSER;backend
更多相關(guān)知識(shí)可以參考《Linux就該這么學(xué)》
版本:PG11
同事遇到對(duì)一個(gè)表分段查詢但是沒有使用order,導(dǎo)致不同數(shù)據(jù)段出現(xiàn)數(shù)據(jù)重復(fù)的情況。
翻閱官方文檔后,發(fā)現(xiàn)PG的表是沒有默認(rèn)順序的,使用limit offset必須使用order,否則會(huì)導(dǎo)致無法預(yù)料的順序問題。
官方文檔:
原文摘抄: