Postgres17.0在centos7 编译安装

Postgres17.0在centos7 编译安装。

安装依赖:

yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-ExtUtils* openldap-devel jadetex openjade bzip2

创建用户

useradd postgres

创建目录

mkdir -p /data460/postgresql/pg17/{pgsql,data,pg_log,archive_log}

创建连接

ln -s /data460/postgresql/pg17 /data460/postgresql/pg

解压缩

tar -xzvf postgresql-17.0.tar.gz -C /data460/postgresql

编译安装

cd /data460/postgresql/postgresql-17.0/
./configure --prefix=/data460/postgresql/pg/pgsql --with-python && make world -j 2 && make install-world

查看icu依赖库是否存在

icu-config --version

不存在,则需要安装依赖库:输入下面指令,y 确认

yum install libicu-devel

重新执行 ./configure

解决方法:
yum install python python-devel

还是不起作用,去掉--with python编译

./configure --prefix=/data460/postgresql/pg/pgsql && make world -j 2 && make install-world

编译通过

安装

make install

#改变目录权属
chown -R postgres.postgres /data460/postgresql

#编辑环境文件

su - postgres
● vim .bash_profile追加如下内容
export PS1="$USER@`/bin/hostname -s`-> "

export PGPORT=15432

export LANG=en_US.utf8 #中文字符集初始化库用 zh_CN.UTF8

export PGHOME=/data460/postgresql/pg17/pgsql

export LD_LIBRARY_PATH=PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:LD_LIBRARY_PATH

export PGDATA=/data460/postgresql/pg17/data

export PGHOST=$PGDATA

export PATH=PGHOME/bin:PATH:.

export DATE='date +"%Y%m%d%H%M"'

export MANPATH=PGHOME/share/man:MANPATH

export PGUSER=postgres

export PGDATABASE=postgres

alias ll='ls -lh'
执行
source .bash_profile
初始化数据库
initdb -D $PGDATA -E UTF8 --locale=en_US.UTF8 -U postgres

编辑参数文件postgresql.conf ,开启归档及修改端口

暂时不转移日志文件,设定日志级别,打开全页写

注意从postgresql 13 的 wal_keep_segments 已经取消,改用 wal_keep_size,此处使用1000M。

打开归档

编辑 pg_hba.conf

加入这一行

host all all 0.0.0.0/0 md5

启动 postgres

pg_ctl start

psql使用localhost进入更改postgres用户密码

psql -hlocalhost --port 15432 -Upostgres

更改密码:

alter user postgres with password '你的密码';

安装编译uuid插件。

使用root用户

  1. uuid插件安装

############uuid创建##########

############uuid创建##########

-----------uuid编译安装如果是主从环境,主从节点都需要编译安装--------------

yum -y install e2fsprogs-devel uuid-devel libuuid-devel

yum -y install libossp*

###需要下载uuid-devel-1.6.2-26.el7.x86_64.rpm软件包#########

yum -y localinstall uuid-1.6.2-26.el7.x86_64.rpm

yum -y localinstall uuid-devel-1.6.2-26.el7.x86_64.rpm

使用uuid参数再编译一下pg

--with-uuid=ossp

cd /data460/postgresql/postgresql-17.0

--清理

make clean

--重新配置

./configure --prefix=/data460/postgresql/pg/pgsql --with-uuid=ossp && make world -j 2 && make install-world

安装

make install

进入扩展目录

make&&make install

进入pg环境,创建扩展

psql -hlocalhost --port 15432 -Upostgres

create extension "uuid-ossp";

安装auto_explain

cd /data460/postgresql/postgresql-17.0/contrib/auto_explain

make&&make install

安装pg_stat_statements

cd /data460/postgresql/postgresql-17.0/contrib/pg_stat_statements

make&&make install

安装pg_buffercache

cd /data460/postgresql/postgresql-17.0/contrib/pg_buffercache

make&&make install

相关推荐
zxrhhm6 小时前
Oracle 中的虚拟列Virtual Columns和PostgreSQL Generated Columns生成列
postgresql·oracle·vr
懒大王爱吃狼13 小时前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
文牧之1 天前
PostgreSQL 配置设置函数
运维·数据库·postgresql
文牧之1 天前
AutoVACUUM (PostgreSQL) 与 DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC (Oracle) 对比
运维·数据库·postgresql·oracle
檀越剑指大厂2 天前
【PostgreSQL系列】PostgreSQL性能优化
数据库·postgresql·性能优化
kngines3 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-D. 扩展插件列表(PostGIS/PostgREST等)
数据库·postgresql·数据分析·pgvector·扩展插件·postgrest·向量数据
chennalC#c.h.JA Ptho3 天前
kubuntu系统详解
linux·数据库·经验分享·postgresql·系统安全
kngines3 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.4 模型部署与定期评估
postgresql·数据分析·存储过程·jsonb·pg_cron·ks值·影子测试机制
kngines4 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.3 风险指标可视化监控
postgresql·数据分析·区块链·逾期率·不良贷款率·客户信用评分
kngines4 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.1 风险数据清洗与特征工程
postgresql·z-score·缺失值处理·levenshtein·信用评分波动率·分箱处理·woe编码