十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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余年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站建设、网站建设、微信开发、重庆小程序开发、成都手机网站制作、H5开发、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
OS: CentOS Linux release 7.7.1908 (Core)
roaringbitmap: roaringbitmap-0.5
roaringbitmap插件github地址:
作者github地址里的安装过程写的比较简单,一路碰到不少坑,记录下来供参考。
1.查看当前安装的pg,确保只有一个版本存在
2.确认当前环境变量配置
3.确认postgres主机账号已设置密码
4.确认postgres主机账号已添加至sudoers文件中
1.安装 llvm-toolset-7-clang = 4.0.1
2.安装 llvm5.0-devel = 5.0
3.安装postgresql12-devel
1.make (warning不用理会,没有error即可)
2.make install(如果此步骤缺少后面的四行输出则会遇到后面的报错3)
见github地址
报错1:未配置环境变量以及未安装 postgresql12-devel 开发包
报错2:未安装依赖包 llvm5.0-devel = 5.0 和 llvm-toolset-7-clang = 4.0.1
报错3.make install 步骤不完整导致报错 Float8GetDatum
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Centos7, yum安装的PG9.6。
1、INSTALL
关于安装方法,可以直接到上面看
2、make的时候缺少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、创建zhparser的时候提示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
更多相关知识可以参考《Linux就该这么学》
版本:PG11
同事遇到对一个表分段查询但是没有使用order,导致不同数据段出现数据重复的情况。
翻阅官方文档后,发现PG的表是没有默认顺序的,使用limit offset必须使用order,否则会导致无法预料的顺序问题。
官方文档:
原文摘抄: