【PostgreSQL】从零开始:(二)PostgreSQL下载与安装

【PostgreSQL】从零开始:(二)PostgreSQL下载与安装

  • Winodws环境下载与安装PostgreSQL
    • 下载PostgreSQL
    • 安装PostgreSQL
      • 1.登录数据库
      • 2.查看下我们已有的数据库
  • Liunx环境下载与安装PostgreSQL
    • 使用YUM下载安装PostgreSQL
      • 1.下载PostgreSQL安装包
      • 2.安装PostgreSQL
      • 3.初始化数据
      • 4.设置为开机启动
      • 5.启动数据库
      • 6.查看进程
      • 7.登录数据库
    • 下载源码包编译安装
      • 通过官网下载
    • 使用wget
      • 1.安装规划
      • 2.创建用户组及用户并修改密码
      • 3.修改root用户配置参数,并让其生效
      • 4.创建相关目录并授权
      • 5.安装相关依赖
      • 6.下载PostgreSQL源码文件
      • 2.校验文件
      • 3.解压源码文件
      • 7.进入数据库源文件目录,给configure加运行权限
      • 8.执行以下语句开始编译PostgreSQL
      • 9.查看数据库文件
      • 10.配置postgres用户环境变量
      • 11.创建数据库实例
      • 12.启动数据库
      • 13.登陆数据库
      • 14.设置开机自起

Winodws环境下载与安装PostgreSQL

下载PostgreSQL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以直接丁路到EDB网站直接下载 【下载地址】
在这里插入图片描述

安装PostgreSQL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成后,如果勾选:Stack Builder may be used to download and install additional tools,drivers and applications to complement your PostgreSQL installation. 在Finish之后会运行Stack Builder,可用于下载和安装附加的工具、驱动程序和应用程序,以补充PostgreSQL安装。可以不勾选,勾选了会运行 Stack Builder安装插件。(本次安装不附带Stack Builder安装,附录1可以了解Stack Builder安装插件相关内容)
在这里插入图片描述

1.登录数据库

在这里插入图片描述
在这里插入图片描述

2.查看下我们已有的数据库

在这里插入图片描述

Liunx环境下载与安装PostgreSQL

使用YUM下载安装PostgreSQL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面我们来演示一下

1.下载PostgreSQL安装包

https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

执行结果:

[root@postgre-sql ~]# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
已加载插件:fastestmirror
pgdg-redhat-repo-latest.noarch.rpm                                                                                                                                                                                                                                                                                   | 8.6 kB  00:00:00     
正在检查 /var/tmp/yum-root-rFo7Yw/pgdg-redhat-repo-latest.noarch.rpm: pgdg-redhat-repo-42.0-32.noarch
/var/tmp/yum-root-rFo7Yw/pgdg-redhat-repo-latest.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 pgdg-redhat-repo.noarch.0.42.0-32 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================================================================================================================================================================================
 Package                                                                           架构                                                                    版本                                                                      源                                                                                                大小
============================================================================================================================================================================================================================================================================================================================================
正在安装:
 pgdg-redhat-repo                                                                  noarch                                                                  42.0-32                                                                   /pgdg-redhat-repo-latest.noarch                                                                   13 k

事务概要
============================================================================================================================================================================================================================================================================================================================================
安装  1 软件包

总计:13 k
安装大小:13 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : pgdg-redhat-repo-42.0-32.noarch                                                                                                                                                                                                                                                                                         1/1 
  验证中      : pgdg-redhat-repo-42.0-32.noarch                                                                                                                                                                                                                                                                                         1/1 

已安装:
  pgdg-redhat-repo.noarch 0:42.0-32                                                                                                                                                                                                                                                                                                         

完毕!
[root@postgre-sql ~]# 

2.安装PostgreSQL

折腾了半天,发现centos7的yum只有PostgreSQL15版本:见附录2,那我们就以15作为演示

yum install -y postgresql15-server

执行结果:

[root@postgre-sql ~]# yum install -y postgresql15-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
--> 正在处理依赖关系 postgresql15-libs(x86-64) = 15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 postgresql15(x86-64) = 15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libpq.so.5()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libicuuc.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libicui18n.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在检查事务
---> 软件包 libicu.x86_64.0.50.2-4.el7_7 将被 安装
---> 软件包 postgresql15.x86_64.0.15.5-1PGDG.rhel7 将被 安装
--> 正在处理依赖关系 libzstd >= 1.4.0,它被软件包 postgresql15-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-15.5-1PGDG.rhel7.x86_64 需要
---> 软件包 postgresql15-libs.x86_64.0.15.5-1PGDG.rhel7 将被 安装
---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
--> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 解决依赖关系完成
错误:软件包:postgresql15-server-15.5-1PGDG.rhel7.x86_64 (pgdg15)
          需要:libzstd.so.1()(64bit)
错误:软件包:postgresql15-15.5-1PGDG.rhel7.x86_64 (pgdg15)
          需要:libzstd.so.1()(64bit)
错误:软件包:postgresql15-15.5-1PGDG.rhel7.x86_64 (pgdg15)
          需要:libzstd >= 1.4.0
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest
[root@postgre-sql ~]# 

提示我们缺少包libzstd.so.1,libzstd >= 1.4.0
执行:

yum install epel-release.noarch -y
yum install libzstd.x86_64 -y

执行结果:

[root@postgre-sql ~]# yum install epel-release.noarch -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================================================================================================================================================================================
 Package                                                                               架构                                                                            版本                                                                           源                                                                               大小
============================================================================================================================================================================================================================================================================================================================================
正在安装:
 epel-release                                                                          noarch                                                                          7-11                                                                           extras                                                                           15 k

事务概要
============================================================================================================================================================================================================================================================================================================================================
安装  1 软件包

总下载量:15 k
安装大小:24 k
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                                                                                                                                                                                         |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-11.noarch                                                                                                                                                                                                                                                                                                1/1 
  验证中      : epel-release-7-11.noarch                                                                                                                                                                                                                                                                                                1/1 

已安装:
  epel-release.noarch 0:7-11                                                                                                                                                                                                                                                                                                                

完毕!
[root@postgre-sql ~]# yum install libzstd.x86_64 -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                                                                                                                                                                                                 | 7.0 kB  00:00:00     
 * epel: mirror.nyist.edu.cn
epel                                                                                                                                                                                                                                                                                                                 | 4.7 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                                                                                                                                                                                                                                                                          |  99 kB  00:00:00     
(2/3): epel/x86_64/updateinfo                                                                                                                                                                                                                                                                                        | 1.0 MB  00:00:00     
(3/3): epel/x86_64/primary_db                                                                                                                                                                                                                                                                                        | 7.0 MB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 libzstd.x86_64.0.1.5.5-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================================================================================================================================================================================
 Package                                                                          架构                                                                            版本                                                                                  源                                                                             大小
============================================================================================================================================================================================================================================================================================================================================
正在安装:
 libzstd                                                                          x86_64                                                                          1.5.5-1.el7                                                                           epel                                                                          292 k

事务概要
============================================================================================================================================================================================================================================================================================================================================
安装  1 软件包

总下载量:292 k
安装大小:775 k
Downloading packages:
警告:/var/cache/yum/x86_64/7/epel/packages/libzstd-1.5.5-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY                          0% [                                                                                                                                              ]  0.0 B/s |    0 B  --:--:-- ETA 
libzstd-1.5.5-1.el7.x86_64.rpm 的公钥尚未安装
libzstd-1.5.5-1.el7.x86_64.rpm                                                                                                                                                                                                                                                                                       | 292 kB  00:00:00     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:
 用户ID     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 指纹       : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 软件包     : epel-release-7-11.noarch (@extras)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : libzstd-1.5.5-1.el7.x86_64                                                                                                                                                                                                                                                                                              1/1 
  验证中      : libzstd-1.5.5-1.el7.x86_64                                                                                                                                                                                                                                                                                              1/1 

已安装:
  libzstd.x86_64 0:1.5.5-1.el7                                                                                                                                                                                                                                                                                                              

完毕!
[root@postgre-sql ~]# 

再次执行

yum install -y postgresql15-server

执行结果:

[root@postgre-sql ~]# yum install -y postgresql15-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirror.nyist.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
--> 正在处理依赖关系 postgresql15-libs(x86-64) = 15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 postgresql15(x86-64) = 15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libpq.so.5()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libicuuc.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在处理依赖关系 libicui18n.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
--> 正在检查事务
---> 软件包 libicu.x86_64.0.50.2-4.el7_7 将被 安装
---> 软件包 postgresql15.x86_64.0.15.5-1PGDG.rhel7 将被 安装
---> 软件包 postgresql15-libs.x86_64.0.15.5-1PGDG.rhel7 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================================================================================================================================================================================
 Package                                                                                 架构                                                                       版本                                                                                   源                                                                          大小
============================================================================================================================================================================================================================================================================================================================================
正在安装:
 postgresql15-server                                                                     x86_64                                                                     15.5-1PGDG.rhel7                                                                       pgdg15                                                                     5.8 M
为依赖而安装:
 libicu                                                                                  x86_64                                                                     50.2-4.el7_7                                                                           base                                                                       6.9 M
 postgresql15                                                                            x86_64                                                                     15.5-1PGDG.rhel7                                                                       pgdg15                                                                     1.6 M
 postgresql15-libs                                                                       x86_64                                                                     15.5-1PGDG.rhel7                                                                       pgdg15                                                                     284 k

事务概要
============================================================================================================================================================================================================================================================================================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:15 M
安装大小:58 M
Downloading packages:
(1/4): libicu-50.2-4.el7_7.x86_64.rpm                                                                                                                                                                                                                                                                                | 6.9 MB  00:00:01     
warning: /var/cache/yum/x86_64/7/pgdg15/packages/postgresql15-15.5-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY         52% [=========================================================================                                                                    ] 3.3 MB/s | 7.6 MB  00:00:02 ETA 
postgresql15-15.5-1PGDG.rhel7.x86_64.rpm 的公钥尚未安装
(2/4): postgresql15-15.5-1PGDG.rhel7.x86_64.rpm                                                                                                                                                                                                                                                                      | 1.6 MB  00:00:03     
(3/4): postgresql15-server-15.5-1PGDG.rhel7.x86_64.rpm                                                                                                                                                                                                                                                               | 5.8 MB  00:00:00     
(4/4): postgresql15-libs-15.5-1PGDG.rhel7.x86_64.rpm                                                                                                                                                                                                                                                                 | 284 kB  00:00:07     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                                                                                                                                        1.9 MB/s |  15 MB  00:00:07     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG 检索密钥
导入 GPG key 0x442DF0F8:
 用户ID     : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
 指纹       : 68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8
 软件包     : pgdg-redhat-repo-42.0-32.noarch (@/pgdg-redhat-repo-latest.noarch)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : libicu-50.2-4.el7_7.x86_64                                                                                                                                                                                                                                                                                              1/4 
  正在安装    : postgresql15-libs-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                               2/4 
  正在安装    : postgresql15-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                                    3/4 
  正在安装    : postgresql15-server-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                             4/4 
  验证中      : postgresql15-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                                    1/4 
  验证中      : postgresql15-server-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                             2/4 
  验证中      : postgresql15-libs-15.5-1PGDG.rhel7.x86_64                                                                                                                                                                                                                                                                               3/4 
  验证中      : libicu-50.2-4.el7_7.x86_64                                                                                                                                                                                                                                                                                              4/4 

已安装:
  postgresql15-server.x86_64 0:15.5-1PGDG.rhel7                                                                                                                                                                                                                                                                                             

作为依赖被安装:
  libicu.x86_64 0:50.2-4.el7_7                                                                          postgresql15.x86_64 0:15.5-1PGDG.rhel7                                                                          postgresql15-libs.x86_64 0:15.5-1PGDG.rhel7                                                                         

完毕!
[root@postgre-sql ~]# 

3.初始化数据

[root@postgre-sql ~]# /usr/pgsql-15/bin/postgresql-15-setup initdb
Initializing database ... OK
[root@postgre-sql ~]# 

4.设置为开机启动

[root@postgre-sql ~]# systemctl enable postgresql-15
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-15.service to /usr/lib/systemd/system/postgresql-15.service.
[root@postgre-sql ~]# 

5.启动数据库

[root@postgre-sql ~]# systemctl start postgresql-15
[root@postgre-sql ~]

6.查看进程

[root@postgre-sql ~]# ps -ef | grep postgres
postgres   3374      1  0 12:38 ?        00:00:00 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
postgres   3376   3374  0 12:38 ?        00:00:00 postgres: logger 
postgres   3377   3374  0 12:38 ?        00:00:00 postgres: checkpointer 
postgres   3378   3374  0 12:38 ?        00:00:00 postgres: background writer 
postgres   3380   3374  0 12:38 ?        00:00:00 postgres: walwriter 
postgres   3381   3374  0 12:38 ?        00:00:00 postgres: autovacuum launcher 
postgres   3382   3374  0 12:38 ?        00:00:00 postgres: logical replication launcher 
root       3411   3049  0 12:41 pts/1    00:00:00 grep --color=auto postgres
[root@postgre-sql ~]# 

7.登录数据库

[root@postgre-sql ~]# su - postgres
bash-4.2$ psql
psql (15.5)
输入 "help" 来获取帮助信息.
postgres=# 

注意:默认用户是postgres,密码是没有的 需要进入数据后修改密码

postgres=# \du
                             角色列表
 角色名称 |                    属性                    | 成员属于 
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}

postgres=# alter user postgres with password '12345678ab';
ALTER ROLE
postgres=# 

验证密码是否正确

bash-4.2$ psql -h127.0.0.1 -U postgres postgres
用户 postgres 的口令:
psql (15.5)
输入 "help" 来获取帮助信息.
postgres=# 

下载源码包编译安装

可以通过官网下载也可以使用wget下载

通过官网下载

在这里插入图片描述
在这里插入图片描述

使用wget

1.安装规划

数据库用户 POSTGRESQL_USER=postgres
数据库用户组 POSTGRESQL_GROUP=postgres
数据库安装文件路径 POSTGRESQL_INSTALL_PATH=/root/postgresql_install
数据库版本号 POSTGRESQL_VERSION=16.1
数据库安装路径 POSTGRESQL_PATH=/opt/postgresql- P O S T G R E S Q L V E R S I O N 数据库端口号 P O S T G R E S Q L P O R T = 5432 数据库 D A T A 存放路径 P O S T G R E S Q L D A T A = / d a t a / {POSTGRESQL_VERSION} 数据库端口号 POSTGRESQL_PORT=5432 数据库DATA存放路径 POSTGRESQL_DATA=/data/ POSTGRESQLVERSION数据库端口号POSTGRESQLPORT=5432数据库DATA存放路径POSTGRESQLDATA=/data/{POSTGRESQL_VERSION}/data

2.创建用户组及用户并修改密码

[root@postgre-sql ~]# groupadd postgres
[root@postgre-sql ~]# useradd -g postgres postgres
[root@postgre-sql ~]# passwd postgres
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@postgre-sql ~]# 

3.修改root用户配置参数,并让其生效

[root@postgre-sql ~]# vi .bash_profile 
[root@postgre-sql ~]# cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

# 新增的Postgre自定义配置
export POSTGRESQL_USER=postgres
export POSTGRESQL_GROUP=postgres
export POSTGRESQL_INSTALL_PATH=/root/postgresql_install
export POSTGRESQL_VERSION=16.1
export POSTGRESQL_PATH=/opt/postgresql-${POSTGRESQL_VERSION}
export POSTGRESQL_PORT=5432
export POSTGRESQL_DATA=/data/${POSTGRESQL_VERSION}/data
N}/data

export PATH
[root@postgre-sql ~]# source .bash_profile 
[root@postgre-sql ~]# echo ${POSTGRESQL_VERSION}
16.1
[root@postgre-sql ~]# 

4.创建相关目录并授权

[root@postgre-sql ~]# mkdir -p ${POSTGRESQL_INSTALL_PATH}
[root@postgre-sql ~]# mkdir -p ${POSTGRESQL_PATH}
[root@postgre-sql ~]# mkdir -p ${POSTGRESQL_DATA}
[root@postgre-sql ~]# chown -R postgres:postgres /data
[root@postgre-sql ~]# chown -R postgres:postgres /root/postgresql_install
[root@postgre-sql ~]# chown -R postgres:postgres /opt/postgresql-16.1/

5.安装相关依赖

yum -y install bzip2 gcc gcc-c++ epel-release llvm5.0 llvm5.0-devel clang libicu-devel perl-ExtUtils-Embed zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel openldap-devel systemd-devel tcl-devel python-devel 

6.下载PostgreSQL源码文件

[root@postgre-sql ~]# cd postgresql_install/
[root@postgre-sql postgresql_install]# wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2 --no-check-certificate
--2023-12-13 15:11:38--  https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
正在解析主机 ftp.postgresql.org (ftp.postgresql.org)... 147.75.85.69, 217.196.149.55, 72.32.157.246, ...
正在连接 ftp.postgresql.org (ftp.postgresql.org)|147.75.85.69|:443... 失败:拒绝连接。
正在连接 ftp.postgresql.org (ftp.postgresql.org)|217.196.149.55|:443... 已连接。
警告: 无法验证 ftp.postgresql.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:24605482 (23M) [application/octet-stream]
正在保存至: “postgresql-16.1.tar.bz2”

100%[==================================================================================================================================================================================================================================================================================================>] 24,605,482  5.53MB/s 用时 4.2s   

2023-12-13 15:12:05 (5.53 MB/s) - 已保存 “postgresql-16.1.tar.bz2” [24605482/24605482])

[root@postgre-sql postgresql_install]# wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.md5 --no-check-certificate
--2023-12-13 15:12:18--  https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.md5
正在解析主机 ftp.postgresql.org (ftp.postgresql.org)... 217.196.149.55, 72.32.157.246, 87.238.57.227, ...
正在连接 ftp.postgresql.org (ftp.postgresql.org)|217.196.149.55|:443... 已连接。
警告: 无法验证 ftp.postgresql.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:58 [text/plain]
正在保存至: “postgresql-16.1.tar.bz2.md5”

100%[==================================================================================================================================================================================================================================================================================================>] 58          --.-K/s 用时 0s      

2023-12-13 15:12:20 (7.99 MB/s) - 已保存 “postgresql-16.1.tar.bz2.md5” [58/58])

[root@postgre-sql postgresql_install]# ls -l
总用量 24036
-rw-r--r--. 1 root root 24605482 117 06:19 postgresql-16.1.tar.bz2
-rw-r--r--. 1 root root       58 117 06:19 postgresql-16.1.tar.bz2.md5
[root@postgre-sql postgresql_install]# 

2.校验文件

[root@postgre-sql postgresql_install]# md5sum  postgresql-16.1.tar.bz2
9cbfb9076ed06384471802b850698a6d  postgresql-16.1.tar.bz2
[root@postgre-sql postgresql_install]# cat postgresql-16.1.tar.bz2.md5
9cbfb9076ed06384471802b850698a6d  postgresql-16.1.tar.bz2
[root@postgre-sql postgresql_install]# 

两个MD5值一致就代表包是完整的

3.解压源码文件

[root@postgre-sql postgresql_install]# tar -xjvf postgresql-16.1.tar.bz2
[root@postgre-sql postgresql_install]# ls -l
总用量 24040
drwxrwxrwx. 6 1107 1107     4096 117 06:18 postgresql-16.1
-rw-r--r--. 1 root root 24605482 117 06:19 postgresql-16.1.tar.bz2
-rw-r--r--. 1 root root       58 117 06:19 postgresql-16.1.tar.bz2.md5
[root@postgre-sql postgresql_install]# 

7.进入数据库源文件目录,给configure加运行权限

[root@postgre-sql postgre_install]# cd postgresql-16.1/
[root@postgre-sql postgresql-16.1]# chmod +x configure

8.执行以下语句开始编译PostgreSQL

./configure --prefix=${POSTGRESQL_PATH} --with-pgport=${POSTGRESQL_PORT}
make
make install

然后再执行

9.查看数据库文件

[root@postgre-sql postgresql-16.1]# cd /opt/postgresql-16.1/
[root@postgre-sql postgresql-16.1]# ls -l
总用量 16
drwxr-xr-x. 2 root root 4096 1213 14:15 bin
drwxr-xr-x. 6 root root 4096 1213 14:15 include
drwxr-xr-x. 4 root root 4096 1213 14:15 lib
drwxr-xr-x. 6 root root 4096 1213 14:15 share
[root@postgre-sql postgresql-16.1]# 

这里我们已经编译成功了

10.配置postgres用户环境变量

[postgres@postgre-sql ~]$ vi .bash_profile 
[postgres@postgre-sql ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin
## 新添加配置
export POSTGRESQL_USER=postgres
export POSTGRESQL_GROUP=postgres
export POSTGRESQL_INSTALL_PATH=/root/postgresql_install
export POSTGRESQL_VERSION=16.1
export POSTGRESQL_PATH=/opt/postgresql-${POSTGRESQL_VERSION}
export POSTGRESQL_PORT=5432
export POSTGRESQL_DATA=/data/${POSTGRESQL_VERSION}/data
export LD_LIBRARY_PATH=${POSTGRESQL_PATH}/lib:/usr/local/lib:$LD_LIBRARY_PATH
export PATH=${POSTGRESQL_PATH}/bin:$PATH
export PGDATA=${POSTGRESQL_DATA}

export PATH
[postgres@postgre-sql ~]$ source .bash_profile 
[postgres@postgre-sql ~]$ echo $PGDATA
/data/16.1/data
[postgres@postgre-sql ~]$ 

11.创建数据库实例

[postgres@postgre-sql ~]$ initdb -A md5 -D $PGDATA -E 'UTF8' --pwfile=<(printf "%s" "12345678ab")
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

creating directory /data/16.1/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    pg_ctl -D /data/16.1/data -l logfile start

[postgres@postgre-sql ~]$

12.启动数据库

[postgres@postgre-sql ~]$ pg_ctl -D /data/16.1/data  start
waiting for server to start....2023-12-13 15:51:24.695 CST [28517] LOG:  starting PostgreSQL 16.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2023-12-13 15:51:24.698 CST [28517] LOG:  listening on IPv6 address "::1", port 5432
2023-12-13 15:51:24.698 CST [28517] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-12-13 15:51:24.701 CST [28517] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-12-13 15:51:24.707 CST [28520] LOG:  database system was shut down at 2023-12-13 15:51:14 CST
2023-12-13 15:51:24.710 CST [28517] LOG:  database system is ready to accept connections
 done
server started
[postgres@postgre-sql ~]$ 

13.登陆数据库

[postgres@postgre-sql ~]$ psql -U postgres -d postgres
Password for user postgres: 
psql (16.1)
Type "help" for help.

postgres=# \l
                                                       List of databases
   Name    |  Owner   | Encoding | Locale Provider |   Collate   |    Ctype    | ICU Locale | ICU Rules |   Access privileges   
-----------+----------+----------+-----------------+-------------+-------------+------------+-----------+-----------------------
 postgres  | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | 
 template0 | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | =c/postgres          +
           |          |          |                 |             |             |            |           | postgres=CTc/postgres
 template1 | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | =c/postgres          +
           |          |          |                 |             |             |            |           | postgres=CTc/postgres
(3 rows)

postgres=# 

登陆数据库并查看到了数据库列表,到这里部署已经完成了

14.设置开机自起

[root@postgre-sql ~]# cat >/usr/lib/systemd/system/postgresql.service <<-EOF
[Unit]
Description=PostgreSQL v${POSTGRESQL_VERSION} database server
Documentation=https://www.postgresql.org
Requires=network.target local-fs.target
After=network.target local-fs.target

[Service]
Type=forking

User=postgres
Group=postgres

Environment=PGDATA=/data/${POSTGRESQL_VERSION}/data

OOMScoreAdjust=-1000

ExecStart=${POSTGRESQL_PATH}/bin/pg_ctl start -D \${PGDATA}
ExecStop=${POSTGRESQL_PATH}/bin/pg_ctl stop -D \${PGDATA}
ExecReload=${POSTGRESQL_PATH}/bin/pg_ctl reload -D \${PGDATA}
ExecRestart=${POSTGRESQL_PATH}/bin/pg_ctl restart -D \${PGDATA}
TimeoutSec=0

[Install]
WantedBy=multi-user.target
EOF
[root@postgre-sql ~]# systemctl daemon-reload
[root@postgre-sql ~]# systemctl enable --now postgresql.service

在这里插入图片描述
Postgis 是数据库地理信息位图的插件,用户开启GIS拓展
pem-httpd 是http服务工具

在这里插入图片描述

[root@postgre-sql ~]# yum search postgresql1
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
========================================================================================================================================================= N/S matched: postgresql1 =========================================================================================================================================================
postgresql12-odbc-debuginfo.x86_64 : Debug information for package postgresql12-odbc
postgresql11.x86_64 : PostgreSQL client programs and libraries
postgresql11-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql11-devel.x86_64 : PostgreSQL development header files and libraries
postgresql11-docs.x86_64 : Extra documentation for PostgreSQL
postgresql11-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql11-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql11-odbc.x86_64 : PostgreSQL ODBC driver
postgresql11-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql11-plpython.x86_64 : The Python procedural language for PostgreSQL
postgresql11-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql11-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql11-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql11-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql11-test.x86_64 : The test suite distributed with PostgreSQL
postgresql12.x86_64 : PostgreSQL client programs and libraries
postgresql12-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql12-devel.x86_64 : PostgreSQL development header files and libraries
postgresql12-docs.x86_64 : Extra documentation for PostgreSQL
postgresql12-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql12-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql12-odbc.x86_64 : PostgreSQL ODBC driver
postgresql12-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql12-plpython.x86_64 : The Python procedural language for PostgreSQL
postgresql12-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql12-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql12-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql12-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql12-test.x86_64 : The test suite distributed with PostgreSQL
postgresql13.x86_64 : PostgreSQL client programs and libraries
postgresql13-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql13-devel.x86_64 : PostgreSQL development header files and libraries
postgresql13-docs.x86_64 : Extra documentation for PostgreSQL
postgresql13-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql13-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql13-odbc.x86_64 : PostgreSQL ODBC driver
postgresql13-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql13-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql13-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql13-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql13-test.x86_64 : The test suite distributed with PostgreSQL
postgresql14.x86_64 : PostgreSQL client programs and libraries
postgresql14-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql14-devel.x86_64 : PostgreSQL development header files and libraries
postgresql14-docs.x86_64 : Extra documentation for PostgreSQL
postgresql14-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql14-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql14-odbc.x86_64 : PostgreSQL ODBC driver
postgresql14-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql14-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql14-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql14-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql14-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql14-test.x86_64 : The test suite distributed with PostgreSQL
postgresql15.x86_64 : PostgreSQL client programs and libraries
postgresql15-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql15-devel.x86_64 : PostgreSQL development header files and libraries
postgresql15-docs.x86_64 : Extra documentation for PostgreSQL
postgresql15-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql15-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
postgresql15-odbc.x86_64 : PostgreSQL ODBC driver
postgresql15-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql15-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql15-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql15-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql15-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql15-test.x86_64 : The test suite distributed with PostgreSQL

  名称和简介匹配 only,使用“search all”试试。
[root@postgre-sql ~]# 


  1. Stack Builder
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Add-ons,tools and utilities的展开项是插件:
    EDB language PACK 是pgAdmin工具的中文包
    pgAgent 是pg数据库计划任务插件:用来实现PostgreSQL 的自动任务执行
    pgBouncer是 PostgreSQL的轻量的连接池
    在这里插入图片描述
    Database Drivers的展开项是数据库驱动
    在这里插入图片描述
    Database Server的展开项是数据库服务
    在这里插入图片描述
    migrationtoolkit 是数据库的迁移工具
    PEM SQL profiler pulgin 是数据库的性能监控工具
    Postgres Enterprise Manager 是postgresql管理和监控工具
    replication server 是postgresql复制服务,用于搭建集群
    sql/protect 是数据库的防火墙工具 ↩︎

  2. PostgreSQL yum支持列表
    在这里插入图片描述
    更多信息查看 https://yum.postgresql.org/packages/#pg11 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/251571.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DCN神州数码WAF-P-2021命令行恢复出厂

注意&#xff1a;执行该命令将会清除设备的所有配置信息&#xff0c;包括网络配置、安全策略等&#xff0c;并将设备恢复到出厂设置时的默认配置。在执行该操作之前&#xff0c;请务必备份重要的设备配置信息。 Console接入波特率9600&#xff0c;输入帐号密码admin/yunke1234…

Mac安装软件显示文件已损坏处理方法

今天安装软件&#xff0c;突然遇到了文件已损坏&#xff0c;扔到废纸篓的情况&#xff0c;于是搜索了下解决办法&#xff0c;跟大家分享下&#xff0c;希望对你有所帮助 一、检查安全性设置 打开【设置】-【隐私与安全】&#xff0c;下拉找到安全性&#xff0c;将安全性更改为…

【动态规划】06路径问题_不同路径II_C++(medium)

题目链接&#xff1a;leetcode不同路径II 目录 题目解析&#xff1a; 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析&#xff1a; 题目让我们求在考虑网格中有障碍物的情况下&#xff0c;从左上角到右下角将会有多少条不同的路径…

JVM虚拟机系统性学习-垃圾回收器CMS、G1和ZGC

CMS&#xff1a;低延迟 在 JDK1.5 时&#xff0c;HotSpot 推出了 CMS 收集器&#xff0c;CMS 收集器是 HotSpot 虚拟机中第一款真正意义上的并发收集器&#xff0c;它第一次实现了让垃圾收集线程和用户线程同时工作CMS 收集器关注尽可能地降低用户线程的停顿时间&#xff0c;停…

linux常见错误

1.E45: ‘readonly‘ option is set (add ! to override) 首先使用以下命令从Vim编辑器中出来&#xff1a;:qa!(强制退出) 接下来&#xff0c;使用sudo vim filename和更高版本&#xff1a;:wq 2.Bash script – "/bin/bash^M: bad interpreter: No such file or direc…

如何退回chrome旧版ui界面?关闭Chrome浏览器新 UI 界面

之前启用新UI的方式 Chrome 已经很久没有进行过大的样式修改&#xff0c;但近期在稳定分支中添加了新的 flags 实验性标志&#xff0c;带来了全新的设计与外观&#xff0c;启用方式如下&#xff1a; 在 Chrome 浏览器的搜索栏中输入并访问 chrome://flags 搜索“refresh 2023…

高效营销系统集成:百度营销的API无代码解决方案,提升电商与广告效率

百度营销API连接&#xff1a;构建无代码开发的高效集成体系 在数字营销的高速发展时代&#xff0c;企业追求的是快速响应市场的能力以及提高用户运营的效率。百度营销API连接正是为此而生&#xff0c;它通过无代码开发的方式&#xff0c;实现了电商平台、营销系统和CRM的一站式…

第十一章 SpringCloud Alibaba 实现Rocketmq–消息驱动

MQ简介 什么是MQ MQ&#xff08;Message Queue&#xff09;是一种跨进程的通信机制&#xff0c;用于传递消息。通俗点说&#xff0c;就是一个先进先出的数 据结构。 MQ的应用场景 异步解耦 最常见的一个场景是用户注册后&#xff0c;需要发送注册邮件和短信通知&#xff…

Qt中槽函数在那个线程执行的探索和思考

信号和槽是Qt的核心机制之一&#xff0c;通过该机制大大简化了开发者的开发难度。信号和槽属于观察者模式&#xff08;本质上是回调函数的应用&#xff09;。是函数就需要考虑其是在那个线程中执行&#xff0c;本文讨论的就是槽函数在那个线程中执行的问题。 目录 1. connect…

[BUG]TDA4 main域 CAN 无法进中断

目录 关键词平台说明一、背景二、根本原因2.1 Com模块 三、措施 关键词 嵌入式、C语言、autosar、TDA4 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0c;C编译器HighTec (GCC) 一、背景 在将mcu域的部分can 移植到main域的时候发现无法进…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑灵活性资源传输精细化建模的配电网优化运行》

这个标题表达的是关于配电网优化运行的一个概念&#xff0c;其中考虑了灵活性资源传输的精细化建模。让我们逐个解读关键词&#xff1a; 考虑灵活性资源传输&#xff1a;这指的是在配电网优化运行中考虑到不同类型的灵活性资源的传输。灵活性资源包括可再生能源、储能系统、柔性…

HarmonyOS首次尝试-HelloWorld

我的旧手机是个HUAWEI PCT-AL10 HarmonyOS 3.0.0(Android 10) 插上后&#xff0c;studio能显示连接上了手机设备&#xff0c;创建的demo使用的是API9&#xff0c;也就是当前的最新版本。 点击运行报错&#xff1a; 点击去往帮助页&#xff0c;做的也挺好&#xff0c;有直达的…

抠图软件哪个好用?什么软件可以抠图换背景?

抠图软件哪个好用&#xff1f;在图片处理中&#xff0c;抠图换背景是一项常见的操作。很多新手可能会对此感到困惑&#xff0c;不知道应该使用什么软件来进行抠图换景。实际上&#xff0c;现在市面上有很多图片处理软件都具备抠图换背景的功能&#xff0c;每款软件都有其优缺点…

开辟“护眼绿洲”,荣耀何以为师?

文 | 智能相对论 作者 | 佘凯文 俗话说&#xff0c;眼睛是心灵的窗户&#xff0c;可如今&#xff0c;人们对于这扇“窗户”的保护&#xff0c;似乎越来越不重视。 据人民日报今年发布的调查显示&#xff0c;中国眼病患病人数2.1亿&#xff0c;近视患者人数多达6亿&#xff0…

Python学习之爬虫基础

目录 文章声明⭐⭐⭐让我们开始今天的学习吧&#xff01;requests库的基本使用BeautifulSoup解析HTML我们还需要学习什么呢&#xff1f; 文章声明⭐⭐⭐ 该文章为我&#xff08;有编程语言基础&#xff0c;非编程小白&#xff09;的 Python爬虫自学笔记知识来源为 B站UP主&…

【JVM从入门到实战】(五)类加载器

一、什么是类加载器 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 类加载器只参与加载过程中的字节码获取并加载到内存这一部分。 二、jdk8及之前的版本 类加载器分为三类&#xff1a; 启动类加载器-加载Ja…

2043杨辉三角(C语言)

目录 一&#xff1a;题目 二&#xff1a;思路分析 三&#xff1a;代码 一&#xff1a;题目 二&#xff1a;思路分析 1.通过杨辉三角&#xff0c;不难发现中间的数等于肩头两个数之和 2.但是当我们的输出结果&#xff0c;与杨辉三角的形式有所不同&#xff0c;但是我们可以找…

【Linux】高性能 Web 服务器 Nginx 安装教程(Ubuntu 22.04)

前言 Nginx 是一个高性能的开源 Web 服务器软件&#xff0c;也可以用作反向代理服务器、负载均衡器、HTTP 缓存以及作为邮件代理服务器等。Nginx 以其高性能、稳定性和丰富的功能而闻名&#xff0c;被广泛用于构建高流量网站和应用程序。 步骤 更新软件源 首先需要更新系统的软…

AttributeError: module ‘edge_tts‘ has no attribute ‘Communicate‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

pycdc配置和使用

配置 使用的kali2023版本 安装cmake pip install cmake 下载pycdc git clone https://github.com/zrax/pycdc 切换到pycdc目录 cd pycdc 进行cmake cmake CMakeLists.txt make 使用 显示帮助信息 ./pycdc -h 显示帮助信息 反编译 ./pycdc /home/kali/Desktop/main…