PostgreSQL中Intarray扩展已安装但无法使用icount函数的求助
解决PostgreSQL intarray扩展icount函数无法使用的问题
我之前碰到了个头疼的问题:明明已经确认intarray扩展可用,却死活调用不了icount函数。后来顺着社区评论的提示,去研究了search_path和扩展安装的关联逻辑,找到了一个亲测有效的高赞解决方案,分享给大家!
核心解决思路
关键要把intarray扩展安装到template1模板数据库中——PostgreSQL里新建的数据库默认会继承template1的配置,这样后续创建的所有库都能自动用上这个扩展,不用重复安装。
针对PostgreSQL 10的配置命令
我用以下命令完成了环境配置:
sudo su - postgres -c psql template1 <<OMG DROP DATABASE IF EXISTS test; DROP USER IF EXISTS "ec2-user"; CREATE USER "ec2-user" WITH PASSWORD '*******'; ALTER USER "ec2-user" CREATEDB; CREATE EXTENSION intarray; OMG
后续验证
配置完成后,我通过ec2-user账号在Python脚本中创建了sent_4_snps数据库,现在intarray扩展的所有函数(包括icount)都能正常调用了。
内容的提问来源于stack exchange,提问作者Anders Goncalves da Silva
相关产品推荐
相关产品推荐

