0
点赞
收藏
分享

微信扫一扫

Postgresql 数据库源码安装

Java旺 2023-03-19 阅读 94

准备工作

环境: CentOS linux 7.9 x86  2u2G       data:30G

数据库安装包:postgresql-14.7.tar.gz

规划:

安装目录:/data/postgresql/postgresdir

数据目录:/data/postgresql/postgresdata

备份目录:/data/postgresql/postgresbackup

日志目录:/data/logs/postgreslog

1.下载安装包,安装依赖,创建目录,创建用户及用户组

wget ​​​​https://ftp.postgresql.org/pub/source/v14.3/postgresql-14.3.tar.gz​​

yum install readline readline-devel -y

yum install zlib zlib-devel -y

yum install -y gcc-c++

yum install -y gcc

mkdir -p /data/postgresql/postgresdir                                                     

mkdir -p /data/postgresql/postgresdata                                                  

mkdir -p /data/postgresql/postgresbackup                                              

mkdir -p /data/logs/postgreslog

groupadd postgres                                                 --创建用户组

useradd -g postgres postgres                               --创建用户

2.源码编译安装

tar -xf postgresql-14.7.tar.gz -C /data/                  --解压

cd /opt/postgresql-14.7/

./configure --prefix=/data/postgresql/postgresdir --enable-nls=en_US.UTF-8

make

make install

cd contrib

make

make install

chown postgres.postgres -R /data

3.修改环境变量

vi .bash_profile                                                                                        

export PGDATA=/data/postgresql/postgresdata

export PGHOME=/data/postgresql/postgresdir

export MANPATH=$PGHOME/share/man:$MANPATH

export LANG=en_US.utf8

export DATE=`date +"%Y-%m-%d %H:%M:%S"`

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib

export PATH=$PATH:$PGHOME/bin/

4.初始化数据库

/data/postgresql/postgresdir/bin/initdb -D /data/postgresql/postgresdata

5.修改配置文件

​data_directory = '/data/postgresql/postgresdata'

​hba_file = '/data/postgresql/postgresdata/pg_hba.conf'

​ident_file = '/data/postgresql/postgresdata/pg_ident.conf'

​listen_addresses = 'localhost,%'

​port = 5432

​max_connections = 100

​authentication_timeout = 1min

​password_encryption = scram-sha-256

shared_buffers = 1024MB

​log_destination = 'stderr'

​logging_collector = on

​log_directory = '/data/logs/postgreslog/'

​log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

​log_file_mode = 0600

log_rotation_age = 15d

​log_rotation_size = 10MB

​log_truncate_on_rotation = on

​autovacuum = on

pg_ctl start                                                             --启动数据库

pg_ctl start                                                             --关闭数据库

6.使用root 用户启动数据库

root 用户

cd /data/postgresql-14.3/contrib/start-scripts

chmod a+x linux

cp linux /etc/init.d/postgresql

vi /etc/init.d/postgresql                                                  --修改启动脚本

# Installation prefix

prefix="/data/postgresql/postgresdir"                                 --安装目录

# Data directory

PGDATA="/data/postgresql/postgresdata"                            --数据目录

DATE=date +"%Y-%m-%d_%H%M%S"

# Where to keep a log file

PGLOG="/data/logs/postgreslog/postgresql-$DATE.log"     --数据日志

service postgresql start                                                    --启动数据库

service postgresql stop                                                    --关闭数据库

7.登录数据库,修改密码

su - postgres

psql

alter role postgres with password 'Cloud12#$%';

select rolname,rolpassword from pg_authid;

至此,数据库已安装完毕

举报

相关推荐

0 条评论