rpm安装的postgres 安装pg-stat-statements 插件

生产环境中使用postgres做为数据库,使用rpm安装的postgresql软件,软件为:12.4 这种情况下怎么安装pg-stat-statements 插件呢。 pg-stat-statmentes 

生产环境中使用postgres做为数据库,使用rpm安装的postgresql软件,软件为:12.4

这种情况下怎么安装pg-stat-statements 插件呢。

pg-stat-statmentes  是pg-12.4中源码中contrib 下已经集成的插件,要想使用rpm 安装的postgresq上安装 pg-stat-statements 需要满足一下几个条件


一,需安装同版本的 postgesql-devel 开发包,我系统下为:postgresql12-devel-12.4

1,插件postgres的版本信息:

登录pg后,select version(),还有一种方法是:how server_version;

2,安装postgresql12-devel-12.4-1PGDG.rhel7.x86_64 遇到错误,错误提示如下:

Requires: llvm-toolset-7-clang >= 4.0.1

问题解决

安装centos-release-scl-rh包即可

二,下载同版本的源代码,这里到官方网站下载postgresl-12.4的源码包。

1,加压后,到contrib 目录下的pg-stat-statements 目录下,执行:

make 后报错如下:

attachments-2022-01-1KHHCIkZ61d5d03951bae,png

postgresql 安装插件时提示找不到~global.mk
当postgresql 安装插件时,遇到了/contrib/contrib-global.mk:

打开MakeFile

ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
else
subdir = contrib/pg_freespacemap
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif

看到第一行有个判断,判断是否定义了USE_PGXS参数
PGXS参数可以见pg官网。

所以,可以在make 的时候加上USE_PGXS就可以了

make USE_PGXS=1
make USE_PGXS=1 install


有可能会出现这个问题:

make: pg_config: Command not found

出现这个原因是你没有把相应的bin目录加到环境变量中

pg_config 这个命令是 ,provides information about the installed version of PostgreSQL(提供postgresql 安装信息)

export PATH=$PATH:/usr/pgsql-12/bin/
我这里 为rpm装,默认路经为:/usr/pgsql-12/bin
bin 为你的pg_config所在目录

安装完成后,进入psql 然后执行 create extension pg_stat_statments; 创建扩展插件。
attachments-2022-01-bBk9JJm061d5d2b91b7c1,png


  • 发表于 2022-01-06 00:27
  • 阅读 ( 44 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章