零、前置条件  
系统CentOS 7,并已联网,已安装gcc或者g++编译器,GNU make版本3.80或以上,系统有至少一个除root之外的普通用户user 
  gcc安装-参考链接 查看make命令的版本——make --version 更新make版本-参考链接 postgresql的使用一般不用root用户,而是普通用户,这里假设普通用户名为user。Linux创建新用户-参考链接    Xshell建立起与CentOS 7系统的会话 Xftp同样建立了与CentOS 7的链接   
 一、下载、转移、解压  
 下载  
首先在本地打开以链接,下载postgresql-xx.x,readline-7.0,zlib-1.2.xx   
https://www.postgresql.org/ftp/source/
  
PostgresSQL建议下载最新版本,打开后的版本列表中,选择最新的正式版本,最好不要选带beta的  
http://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz
  
下载zlib前,先开官网http://www.zlib.net/看一下最新版本号,比如这里是1.2.13,那么下面下载链接中的版本号就改成最新的版本号     
http://www.zlib.net/zlib-1.x.xx.tar.gz
  
 转移  
 
[root@localhost ~]# mkdir pgsoft
  
打开xftp,将刚刚下载好的三个压缩包拖到刚刚建立目录下面/root/pgsoft     
 解压  
[root@localhost pgsoft]# tar -xf readline-7.0.tar.gz
[root@localhost pgsoft]# tar -xf zlib-1.x.xx.tar.gz
[root@localhost pgsoft]# tar -xf postgresql-xx.x.tar.gz
  
 
 二、安装  
 readline安装  
[root@localhost pgsoft]# cd readline-7.0
[root@localhost readline-7.0]# ./configure
[root@localhost readline-7.0]# make
[root@localhost readline-7.0]# make install
  
安装readline开发包readline-devel,不然后面安装postgresql时会提示错误configure: error: readline library not found   
[root@localhost readline-7.0]# yum install readline-devel
  
 zlib安装  
[ root@localhost readline-7.0] 
[ root@localhost zlib-1.x.xx] 
[ root@localhost zlib-1.x.xx] 
[ root@localhost zlib-1.x.xx] 
  
 postgresql安装  
[ root@localhost ~] 
[ root@localhost ~] 
[ root@localhost ~] 
[ root@localhost postgresql-xx.x] 
[ root@localhost postgresql-xx.x] 
[ root@localhost postgresql-xx.x] 
  
 
[ root@localhost postgresql-15.3] 
总用量 16 
drwxr-xr-x. 2  root root 4096  6 月   9  09:29 bin
drwxr-xr-x. 6  root root 4096  6 月   9  09:29 include
drwxr-xr-x. 4  root root 4096  6 月   9  09:29 lib
drwxr-xr-x. 6  root root 4096  6 月   9  09:29 share
[ root@localhost postgresql-15.3] 
postgres ( PostgreSQL)  15.3 
  
 三、安装数据目录  
 
[ root@localhost ~] 
[ root@localhost ~] 
[ root@localhost pgsoft] 
上一次登录:五 6 月  9  09:32:48 CST 2023pts/0 上
[ user@localhost ~] $ cd  /pgdata/15.3/poc
[ user@localhost poc] $ /opt/pgsql-15.3/bin/initdb  -D /pgdata/15.3/poc/data/ -E UTF-8
……
……
Success. You can now start the database server using:
    /opt/pgsql-15.3/bin/pg_ctl -D /pgdata/15.3/poc/data/ -l logfile start
[ userb@localhost poc] $ chmod  0700 data/
[ userb@localhost poc] $ /opt/pgsql-15.3/bin/pg_ctl -D /pgdata/15.3/poc/data/ start
waiting for  server to start.. .. 2023 -06-09 09:43:50.826 CST [ 18923 ]  LOG:  starting PostgreSQL 15.3  on x86_64-pc-linux-gnu, compiled by gcc ( GCC)  4.8 .5 20150623  ( Red Hat 4.8 .5-44) , 64 -bit
2023 -06-09 09:43:50.828 CST [ 18923 ]  LOG:  listening on IPv6 address "::1" , port 5432 
2023 -06-09 09:43:50.828 CST [ 18923 ]  LOG:  listening on IPv4 address "127.0.0.1" , port 5432 
2023 -06-09 09:43:50.832 CST [ 18923 ]  LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432" 
2023 -06-09 09:43:50.836 CST [ 18926 ]  LOG:  database system was shut down at 2023 -06-09 09:42:19 CST
2023 -06-09 09:43:50.855 CST [ 18923 ]  LOG:  database system is ready to accept connections
 done 
server started
  
 四、创建PostgreSQL第一个数据库实例  
[ userb@localhost poc] $ /opt/pgsql-15.3/bin/createdb my_first_pgdb
  
 五、将PostgreSQL的安装路径添加到Shell的搜索路径  
[ root@localhost ~] 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[ root@localhost ~] 
[ root@localhost ~] 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/pgsql-15.3/bin
[ root@localhost ~] 
postgres ( PostgreSQL)  15.3