pg16源码部署

环境:
OS:Centos 7
pg:pg16

说明:pg16已经不提供在centos 7下使用yum方式安装了,只能通过源码编译的方式安装.

1.源码下载:
https://www.postgresql.org/ftp/source/v16.4/

[root@middle soft]# wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz 

 

2.解压源码包
[root@localhost soft]# cd /soft/pg16
[root@localhost pg16]# tar -zxvf postgresql-16.4.tar.gz

 

3.进入解压后的目录执行
--prefix=xxx 指定的是编译后的源码位置可以按需自定义
[root@localhost pg16]#mkdir /opt/pg16
[root@localhost pg16]#cd /soft/pg16/postgresql-16.4
[root@localhost postgresql-16.4]# ./configure --prefix=/opt/pg16

configure: error: ICU library not found
If you have ICU already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-icu to disable ICU support.

解决办法:
yum install libicu-devel


4.执行make打包
[root@host135 postgresql-16.4]# cd /soft/pg16/postgresql-16.4
[root@localhost postgresql-16.4]#make
[root@localhost postgresql-16.4]#make install

 

5.如果缺少相应的库文件酌情安装后再次执行
[root@localhost postgresql-16.4]# yum install gcc -y
[root@localhost postgresql-16.4]# yum install zlib-devel
[root@localhost postgresql-16.4]# yum install -y readline-devel
[root@localhost postgresql-16.4]# yum install libicu-devel

 

6.创建 data文件夹和日志文件夹
[root@localhost local]# mkdir -p /home/middle/pg16/data
[root@localhost local]# mkdir -p /home/middle/pg16/log

 

7.配置环境变量
root账号
#写入内容
PGHOME=/opt/pg16
PATH=$PGHOME/bin:$PATH:$HOME/bin
退出重新登录

测试备份
export PGPASSWORD=postgres
pg_dump -h 192.168.1.134 -U postgres -p 5432 -d postgres -f /tmp/postgres01.sql


那么这里客户端的安装就完成了,相应的命令也都可以使用了.下面的服务器部署


8.添加用户和配置目录权限

[root@localhost local]# groupadd postgres
[root@localhost local]# useradd postgres
[root@localhost local]# chown -R postgres:postgres /home/middle/pg16

注意创建的用户也需要添加环境变量

PGHOME=/opt/pg16
PATH=$PGHOME/bin:$PATH:$HOME/bin 

 

9.初始化数据库(使用root用户会报错)
[root@localhost local]# su - postgres
[postgres@localhost local]$ /opt/pg16/bin/initdb -D /home/middle/pg16/data

 

10.修改配置文件(最简配置)
[postgres@localhost local]$ vi /home/middle/pg16/data/postgresql.conf
# 设置所有ip可连接
listen_addresses = '*'
# 设置监听端口
port = 5432

 

11.配置远程可以访问
[postgres@localhost local]$ vi /home/middle/pg16/data/pg_hba.conf
host    all             all             0.0.0.0/0               scram-sha-256

 

12.启动停止命令

[root@localhost ~]# su - postgres
[postgres@localhost local]$ pg_ctl start -D /home/middle/pg16/data -l /home/middle/pg16/log/pg_server.log
[postgres@localhost local]$ pg_ctl stop -D /home/middle/pg16/data -l /home/middle/pg16log/pg_server.log

 

启动后可以修改postgres账号的密码

 

[root@host135 ~]# su - postgres
Last login: Tue Nov 19 09:20:23 CST 2024 on pts/2
[postgres@host135 ~]$ psql
psql (16.4)
Type "help" for help.

postgres=# alter user postgres with password 'postgres';

 

 

 

 

 

13.查看版本
[postgres@localhost local]$ psql -v

 

14.Sql命令行登陆
[postgres@localhost local]$ psql -U postgres -d postgres

 

15.登陆后的常用操作
修改密码
postgres=# ALTER USER postgres WITH PASSWORD '123456';
查看所有用户
postgres=# \du+
查看所有数据库
postgres=# \l
新建数据库
postgres=# CREATE DATABASE test1;
切换连接到另一个数据库
postgres=# \c test1
删除数据库
postgres=# DROP DATABASE test1;
查看当前数据库中的表
postgres=# \dt

posted @ 2024-11-15 17:53  slnngk  阅读(5)  评论(0编辑  收藏  举报