0


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

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

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安装,附录可以了解Stack Builder安装插件相关内容)
在这里插入图片描述

1.登录数据库

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

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

在这里插入图片描述

Liunx环境下载与安装PostgreSQL

使用YUM下载安装PostgreSQL

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

1.下载PostgreSQL安装包

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

执行结果:

  1. [root@postgre-sql ~]# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  2. 已加载插件:fastestmirror
  3. pgdg-redhat-repo-latest.noarch.rpm |8.6 kB 00:00:00
  4. 正在检查 /var/tmp/yum-root-rFo7Yw/pgdg-redhat-repo-latest.noarch.rpm: pgdg-redhat-repo-42.0-32.noarch
  5. /var/tmp/yum-root-rFo7Yw/pgdg-redhat-repo-latest.noarch.rpm 将被安装
  6. 正在解决依赖关系
  7. --> 正在检查事务
  8. ---> 软件包 pgdg-redhat-repo.noarch.0.42.0-32 将被 安装
  9. --> 解决依赖关系完成
  10. 依赖关系解决
  11. ============================================================================================================================================================================================================================================================================================================================================
  12. Package 架构 版本 大小
  13. ============================================================================================================================================================================================================================================================================================================================================
  14. 正在安装:
  15. pgdg-redhat-repo noarch 42.0-32 /pgdg-redhat-repo-latest.noarch 13 k
  16. 事务概要
  17. ============================================================================================================================================================================================================================================================================================================================================
  18. 安装 1 软件包
  19. 总计:13 k
  20. 安装大小:13 k
  21. Downloading packages:
  22. Running transaction check
  23. Running transaction test
  24. Transaction test succeeded
  25. Running transaction
  26. 正在安装 : pgdg-redhat-repo-42.0-32.noarch 1/1
  27. 验证中 : pgdg-redhat-repo-42.0-32.noarch 1/1
  28. 已安装:
  29. pgdg-redhat-repo.noarch 0:42.0-32
  30. 完毕!
  31. [root@postgre-sql ~]#

2.安装PostgreSQL

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

  1. yum install-y postgresql15-server

执行结果:

  1. [root@postgre-sql ~]# yum install -y postgresql15-server
  2. 已加载插件:fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系
  5. --> 正在检查事务
  6. ---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  7. --> 正在处理依赖关系 postgresql15-libs(x86-64)=15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  8. --> 正在处理依赖关系 postgresql15(x86-64)=15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  9. --> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  10. --> 正在处理依赖关系 libpq.so.5()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  11. --> 正在处理依赖关系 libicuuc.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  12. --> 正在处理依赖关系 libicui18n.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  13. --> 正在检查事务
  14. ---> 软件包 libicu.x86_64.0.50.2-4.el7_7 将被 安装
  15. ---> 软件包 postgresql15.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  16. --> 正在处理依赖关系 libzstd >=1.4.0,它被软件包 postgresql15-15.5-1PGDG.rhel7.x86_64 需要
  17. --> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-15.5-1PGDG.rhel7.x86_64 需要
  18. ---> 软件包 postgresql15-libs.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  19. ---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  20. --> 正在处理依赖关系 libzstd.so.1()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  21. --> 解决依赖关系完成
  22. 错误:软件包:postgresql15-server-15.5-1PGDG.rhel7.x86_64 (pgdg15)
  23. 需要:libzstd.so.1()(64bit)
  24. 错误:软件包:postgresql15-15.5-1PGDG.rhel7.x86_64 (pgdg15)
  25. 需要:libzstd.so.1()(64bit)
  26. 错误:软件包:postgresql15-15.5-1PGDG.rhel7.x86_64 (pgdg15)
  27. 需要:libzstd >=1.4.0
  28. 您可以尝试添加 --skip-broken 选项来解决该问题
  29. 您可以尝试执行:rpm -Va--nofiles--nodigest[root@postgre-sql ~]#

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

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

执行结果:

  1. [root@postgre-sql ~]# yum install epel-release.noarch -y
  2. 已加载插件:fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系
  5. --> 正在检查事务
  6. ---> 软件包 epel-release.noarch.0.7-11 将被 安装
  7. --> 解决依赖关系完成
  8. 依赖关系解决
  9. ============================================================================================================================================================================================================================================================================================================================================
  10. Package 架构 版本 大小
  11. ============================================================================================================================================================================================================================================================================================================================================
  12. 正在安装:
  13. epel-release noarch 7-11 extras 15 k
  14. 事务概要
  15. ============================================================================================================================================================================================================================================================================================================================================
  16. 安装 1 软件包
  17. 总下载量:15 k
  18. 安装大小:24 k
  19. Downloading packages:
  20. epel-release-7-11.noarch.rpm |15 kB 00:00:00
  21. Running transaction check
  22. Running transaction test
  23. Transaction test succeeded
  24. Running transaction
  25. 正在安装 : epel-release-7-11.noarch 1/1
  26. 验证中 : epel-release-7-11.noarch 1/1
  27. 已安装:
  28. epel-release.noarch 0:7-11
  29. 完毕!
  30. [root@postgre-sql ~]# yum install libzstd.x86_64 -y
  31. 已加载插件:fastestmirror
  32. Loading mirror speeds from cached hostfile
  33. epel/x86_64/metalink |7.0 kB 00:00:00
  34. * epel: mirror.nyist.edu.cn
  35. epel |4.7 kB 00:00:00
  36. (1/3): epel/x86_64/group_gz |99 kB 00:00:00
  37. (2/3): epel/x86_64/updateinfo |1.0 MB 00:00:00
  38. (3/3): epel/x86_64/primary_db |7.0 MB 00:00:00
  39. 正在解决依赖关系
  40. --> 正在检查事务
  41. ---> 软件包 libzstd.x86_64.0.1.5.5-1.el7 将被 安装
  42. --> 解决依赖关系完成
  43. 依赖关系解决
  44. ============================================================================================================================================================================================================================================================================================================================================
  45. Package 架构 版本 大小
  46. ============================================================================================================================================================================================================================================================================================================================================
  47. 正在安装:
  48. libzstd x86_64 1.5.5-1.el7 epel 292 k
  49. 事务概要
  50. ============================================================================================================================================================================================================================================================================================================================================
  51. 安装 1 软件包
  52. 总下载量:292 k
  53. 安装大小:775 k
  54. Downloading packages:
  55. 警告:/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
  56. libzstd-1.5.5-1.el7.x86_64.rpm 的公钥尚未安装
  57. libzstd-1.5.5-1.el7.x86_64.rpm |292 kB 00:00:00
  58. file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
  59. 导入 GPG key 0x352C64E5:
  60. 用户ID :"Fedora EPEL (7) <epel@fedoraproject.org>"
  61. 指纹 : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
  62. 软件包 : epel-release-7-11.noarch (@extras)
  63. 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
  64. Running transaction check
  65. Running transaction test
  66. Transaction test succeeded
  67. Running transaction
  68. 正在安装 : libzstd-1.5.5-1.el7.x86_64 1/1
  69. 验证中 : libzstd-1.5.5-1.el7.x86_64 1/1
  70. 已安装:
  71. libzstd.x86_64 0:1.5.5-1.el7
  72. 完毕!
  73. [root@postgre-sql ~]#

再次执行

  1. yum install-y postgresql15-server

执行结果:

  1. [root@postgre-sql ~]# yum install -y postgresql15-server
  2. 已加载插件:fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. * epel: mirror.nyist.edu.cn
  5. 正在解决依赖关系
  6. --> 正在检查事务
  7. ---> 软件包 postgresql15-server.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  8. --> 正在处理依赖关系 postgresql15-libs(x86-64)=15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  9. --> 正在处理依赖关系 postgresql15(x86-64)=15.5-1PGDG.rhel7,它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  10. --> 正在处理依赖关系 libpq.so.5()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  11. --> 正在处理依赖关系 libicuuc.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  12. --> 正在处理依赖关系 libicui18n.so.50()(64bit),它被软件包 postgresql15-server-15.5-1PGDG.rhel7.x86_64 需要
  13. --> 正在检查事务
  14. ---> 软件包 libicu.x86_64.0.50.2-4.el7_7 将被 安装
  15. ---> 软件包 postgresql15.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  16. ---> 软件包 postgresql15-libs.x86_64.0.15.5-1PGDG.rhel7 将被 安装
  17. --> 解决依赖关系完成
  18. 依赖关系解决
  19. ============================================================================================================================================================================================================================================================================================================================================
  20. Package 架构 版本 大小
  21. ============================================================================================================================================================================================================================================================================================================================================
  22. 正在安装:
  23. postgresql15-server x86_64 15.5-1PGDG.rhel7 pgdg15 5.8 M
  24. 为依赖而安装:
  25. libicu x86_64 50.2-4.el7_7 base 6.9 M
  26. postgresql15 x86_64 15.5-1PGDG.rhel7 pgdg15 1.6 M
  27. postgresql15-libs x86_64 15.5-1PGDG.rhel7 pgdg15 284 k
  28. 事务概要
  29. ============================================================================================================================================================================================================================================================================================================================================
  30. 安装 1 软件包 (+3 依赖软件包)
  31. 总下载量:15 M
  32. 安装大小:58 M
  33. Downloading packages:
  34. (1/4): libicu-50.2-4.el7_7.x86_64.rpm |6.9 MB 00:00:01
  35. 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
  36. postgresql15-15.5-1PGDG.rhel7.x86_64.rpm 的公钥尚未安装
  37. (2/4): postgresql15-15.5-1PGDG.rhel7.x86_64.rpm |1.6 MB 00:00:03
  38. (3/4): postgresql15-server-15.5-1PGDG.rhel7.x86_64.rpm |5.8 MB 00:00:00
  39. (4/4): postgresql15-libs-15.5-1PGDG.rhel7.x86_64.rpm |284 kB 00:00:07
  40. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  41. 总计 1.9 MB/s |15 MB 00:00:07
  42. file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG 检索密钥
  43. 导入 GPG key 0x442DF0F8:
  44. 用户ID :"PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
  45. 指纹 : 68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8
  46. 软件包 : pgdg-redhat-repo-42.0-32.noarch (@/pgdg-redhat-repo-latest.noarch)
  47. 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
  48. Running transaction check
  49. Running transaction test
  50. Transaction test succeeded
  51. Running transaction
  52. 正在安装 : libicu-50.2-4.el7_7.x86_64 1/4
  53. 正在安装 : postgresql15-libs-15.5-1PGDG.rhel7.x86_64 2/4
  54. 正在安装 : postgresql15-15.5-1PGDG.rhel7.x86_64 3/4
  55. 正在安装 : postgresql15-server-15.5-1PGDG.rhel7.x86_64 4/4
  56. 验证中 : postgresql15-15.5-1PGDG.rhel7.x86_64 1/4
  57. 验证中 : postgresql15-server-15.5-1PGDG.rhel7.x86_64 2/4
  58. 验证中 : postgresql15-libs-15.5-1PGDG.rhel7.x86_64 3/4
  59. 验证中 : libicu-50.2-4.el7_7.x86_64 4/4
  60. 已安装:
  61. postgresql15-server.x86_64 0:15.5-1PGDG.rhel7
  62. 作为依赖被安装:
  63. 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
  64. 完毕!
  65. [root@postgre-sql ~]#

3.初始化数据

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

4.设置为开机启动

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

5.启动数据库

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

6.查看进程

  1. [root@postgre-sql ~]# ps -ef | grep postgres
  2. postgres 33741012:38 ? 00:00:00 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
  3. postgres 33763374012:38 ? 00:00:00 postgres: logger
  4. postgres 33773374012:38 ? 00:00:00 postgres: checkpointer
  5. postgres 33783374012:38 ? 00:00:00 postgres: background writer
  6. postgres 33803374012:38 ? 00:00:00 postgres: walwriter
  7. postgres 33813374012:38 ? 00:00:00 postgres: autovacuum launcher
  8. postgres 33823374012:38 ? 00:00:00 postgres: logical replication launcher
  9. root 34113049012:41 pts/1 00:00:00 grep--color=auto postgres
  10. [root@postgre-sql ~]#

7.登录数据库

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

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

  1. postgres=# \du
  2. 角色列表
  3. 角色名称 | 属性 | 成员属于
  4. ----------+--------------------------------------------+----------
  5. postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS |{}postgres=# alter user postgres with password '12345678ab';
  6. ALTER ROLE
  7. postgres=#

验证密码是否正确

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

下载源码包编译安装

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

通过官网下载

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

使用wget

1.安装规划

数据库用户 POSTGRESQL_USER=postgres
数据库用户组 POSTGRESQL_GROUP=postgres
数据库安装文件路径 POSTGRESQL_INSTALL_PATH=/root/postgresql_install
数据库版本号 POSTGRESQL_VERSION=16.1
数据库安装路径 POSTGRESQL_PATH=/opt/postgresql-

  1. P
  2. O
  3. S
  4. T
  5. G
  6. R
  7. E
  8. S
  9. Q
  10. L
  11. V
  12. E
  13. R
  14. S
  15. I
  16. O
  17. N
  18. 数据库端口号
  19. P
  20. O
  21. S
  22. T
  23. G
  24. R
  25. E
  26. S
  27. Q
  28. L
  29. P
  30. O
  31. R
  32. T
  33. =
  34. 5432
  35. 数据库
  36. D
  37. A
  38. T
  39. A
  40. 存放路径
  41. P
  42. O
  43. S
  44. T
  45. G
  46. R
  47. E
  48. S
  49. Q
  50. L
  51. D
  52. A
  53. T
  54. A
  55. =
  56. /
  57. d
  58. a
  59. t
  60. a
  61. /
  62. {POSTGRESQL_VERSION} 数据库端口号 POSTGRESQL_PORT=5432 数据库DATA存放路径 POSTGRESQL_DATA=/data/
  63. POSTGRESQLVERSION数据库端口号POSTGRESQLPORT=5432数据库DATA存放路径POSTGRESQLDATA=/data/{POSTGRESQL_VERSION}/data

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

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

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

  1. [root@postgre-sql ~]# vi .bash_profile [root@postgre-sql ~]# cat .bash_profile # .bash_profile# Get the aliases and functionsif[-f ~/.bashrc ];then. ~/.bashrc
  2. fi# User specific environment and startup programsPATH=$PATH:$HOME/bin
  3. # 新增的Postgre自定义配置exportPOSTGRESQL_USER=postgres
  4. exportPOSTGRESQL_GROUP=postgres
  5. exportPOSTGRESQL_INSTALL_PATH=/root/postgresql_install
  6. exportPOSTGRESQL_VERSION=16.1exportPOSTGRESQL_PATH=/opt/postgresql-${POSTGRESQL_VERSION}exportPOSTGRESQL_PORT=5432exportPOSTGRESQL_DATA=/data/${POSTGRESQL_VERSION}/data
  7. N}/data
  8. exportPATH[root@postgre-sql ~]# source .bash_profile [root@postgre-sql ~]# echo ${POSTGRESQL_VERSION}16.1[root@postgre-sql ~]#

4.创建相关目录并授权

  1. [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.安装相关依赖

  1. yum -yinstallbzip2 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源码文件

  1. [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
  2. --2023-12-13 15:11:38-- https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
  3. 正在解析主机 ftp.postgresql.org (ftp.postgresql.org)... 147.75.85.69, 217.196.149.55, 72.32.157.246, ...
  4. 正在连接 ftp.postgresql.org (ftp.postgresql.org)|147.75.85.69|:443... 失败:拒绝连接。
  5. 正在连接 ftp.postgresql.org (ftp.postgresql.org)|217.196.149.55|:443... 已连接。
  6. 警告: 无法验证 ftp.postgresql.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  7. 颁发的证书已经过期。
  8. 已发出 HTTP 请求,正在等待回应... 200 OK
  9. 长度:24605482 (23M) [application/octet-stream]
  10. 正在保存至: “postgresql-16.1.tar.bz2”
  11. 100%[==================================================================================================================================================================================================================================================================================================>] 24,605,482 5.53MB/s 用时 4.2s
  12. 2023-12-13 15:12:05 (5.53 MB/s) - 已保存 “postgresql-16.1.tar.bz2” [24605482/24605482])
  13. [root@postgre-sql postgresql_install]# wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.md5 --no-check-certificate
  14. --2023-12-13 15:12:18-- https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.md5
  15. 正在解析主机 ftp.postgresql.org (ftp.postgresql.org)... 217.196.149.55, 72.32.157.246, 87.238.57.227, ...
  16. 正在连接 ftp.postgresql.org (ftp.postgresql.org)|217.196.149.55|:443... 已连接。
  17. 警告: 无法验证 ftp.postgresql.org 的由 “/C=US/O=Let's Encrypt/CN=R3 颁发的证书:
  18. 颁发的证书已经过期。
  19. 已发出 HTTP 请求,正在等待回应... 200 OK
  20. 长度:58 [text/plain]
  21. 正在保存至: postgresql-16.1.tar.bz2.md5
  22. 100%[==================================================================================================================================================================================================================================================================================================>]58 --.-K/s 用时 0s
  23. 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
  24. 总用量 24036
  25. -rw-r--r--. 1 root root 2460548211 7 06:19 postgresql-16.1.tar.bz2
  26. -rw-r--r--. 1 root root 5811 7 06:19 postgresql-16.1.tar.bz2.md5
  27. [root@postgre-sql postgresql_install]#

2.校验文件

  1. [root@postgre-sql postgresql_install]# md5sum postgresql-16.1.tar.bz2
  2. 9cbfb9076ed06384471802b850698a6d postgresql-16.1.tar.bz2
  3. [root@postgre-sql postgresql_install]# cat postgresql-16.1.tar.bz2.md5
  4. 9cbfb9076ed06384471802b850698a6d postgresql-16.1.tar.bz2
  5. [root@postgre-sql postgresql_install]#

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

3.解压源码文件

  1. [root@postgre-sql postgresql_install]# tar -xjvf postgresql-16.1.tar.bz2[root@postgre-sql postgresql_install]# ls -l
  2. 总用量 24040
  3. drwxrwxrwx. 611071107409611 7 06:18 postgresql-16.1
  4. -rw-r--r--. 1 root root 2460548211 7 06:19 postgresql-16.1.tar.bz2
  5. -rw-r--r--. 1 root root 5811 7 06:19 postgresql-16.1.tar.bz2.md5
  6. [root@postgre-sql postgresql_install]#

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

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

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

  1. ./configure --prefix=${POSTGRESQL_PATH} --with-pgport=${POSTGRESQL_PORT}makemakeinstall

然后再执行

9.查看数据库文件

  1. [root@postgre-sql postgresql-16.1]# cd /opt/postgresql-16.1/[root@postgre-sql postgresql-16.1]# ls -l
  2. 总用量 16
  3. drwxr-xr-x. 2 root root 409612 1314:15 bin
  4. drwxr-xr-x. 6 root root 409612 1314:15 include
  5. drwxr-xr-x. 4 root root 409612 1314:15 lib
  6. drwxr-xr-x. 6 root root 409612 1314:15 share
  7. [root@postgre-sql postgresql-16.1]#

这里我们已经编译成功了

10.配置postgres用户环境变量

  1. [postgres@postgre-sql ~]$ vi .bash_profile
  2. [postgres@postgre-sql ~]$ cat .bash_profile
  3. # .bash_profile# Get the aliases and functionsif[-f ~/.bashrc ];then. ~/.bashrc
  4. fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/bin
  5. ## 新添加配置exportPOSTGRESQL_USER=postgres
  6. exportPOSTGRESQL_GROUP=postgres
  7. exportPOSTGRESQL_INSTALL_PATH=/root/postgresql_install
  8. exportPOSTGRESQL_VERSION=16.1exportPOSTGRESQL_PATH=/opt/postgresql-${POSTGRESQL_VERSION}exportPOSTGRESQL_PORT=5432exportPOSTGRESQL_DATA=/data/${POSTGRESQL_VERSION}/data
  9. exportLD_LIBRARY_PATH=${POSTGRESQL_PATH}/lib:/usr/local/lib:$LD_LIBRARY_PATHexportPATH=${POSTGRESQL_PATH}/bin:$PATHexportPGDATA=${POSTGRESQL_DATA}exportPATH[postgres@postgre-sql ~]$ source .bash_profile
  10. [postgres@postgre-sql ~]$ echo$PGDATA
  11. /data/16.1/data
  12. [postgres@postgre-sql ~]$

11.创建数据库实例

  1. [postgres@postgre-sql ~]$ initdb -A md5 -D$PGDATA-E'UTF8'--pwfile=<(printf"%s""12345678ab")
  2. The files belonging to this database system will be owned by user "postgres".
  3. This user must also own the server process.
  4. The database cluster will be initialized with locale "zh_CN.UTF-8".
  5. initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
  6. The default text search configuration will be set to "simple".
  7. Data page checksums are disabled.
  8. creating directory /data/16.1/data ... ok
  9. creating subdirectories ... ok
  10. selecting dynamic shared memory implementation ... posix
  11. selecting default max_connections ... 100
  12. selecting default shared_buffers ... 128MB
  13. selecting default time zone ... Asia/Shanghai
  14. creating configuration files ... ok
  15. running bootstrap script ... ok
  16. performing post-bootstrap initialization ... ok
  17. syncing data to disk ... ok
  18. Success. You can now start the database server using:
  19. pg_ctl -D /data/16.1/data -l logfile start
  20. [postgres@postgre-sql ~]$

12.启动数据库

  1. [postgres@postgre-sql ~]$ pg_ctl -D /data/16.1/data start
  2. 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
  3. 2023-12-13 15:51:24.698 CST [28517] LOG: listening on IPv6 address "::1", port 54322023-12-13 15:51:24.698 CST [28517] LOG: listening on IPv4 address "127.0.0.1", port 54322023-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
  4. 2023-12-13 15:51:24.710 CST [28517] LOG: database system is ready to accept connections
  5. done
  6. server started
  7. [postgres@postgre-sql ~]$

13.登陆数据库

  1. [postgres@postgre-sql ~]$ psql -U postgres -d postgres
  2. Password for user postgres:
  3. psql (16.1)
  4. Type "help"for help.
  5. postgres=# \l
  6. List of databases
  7. Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges
  8. -----------+----------+----------+-----------------+-------------+-------------+------------+-----------+-----------------------
  9. postgres | postgres | UTF8 | libc | zh_CN.UTF-8 | zh_CN.UTF-8 |||
  10. template0 | postgres | UTF8 | libc | zh_CN.UTF-8 | zh_CN.UTF-8 |||=c/postgres +
  11. ||||||||postgres=CTc/postgres
  12. template1 | postgres | UTF8 | libc | zh_CN.UTF-8 | zh_CN.UTF-8 |||=c/postgres +
  13. ||||||||postgres=CTc/postgres
  14. (3 rows)postgres=#

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

14.设置开机自起

  1. [root@postgre-sql ~]# cat >/usr/lib/systemd/system/postgresql.service <<-EOF[Unit]Description=PostgreSQL v${POSTGRESQL_VERSION} database server
  2. Documentation=https://www.postgresql.org
  3. Requires=network.target local-fs.target
  4. After=network.target local-fs.target
  5. [Service]Type=forking
  6. User=postgres
  7. Group=postgres
  8. Environment=PGDATA=/data/${POSTGRESQL_VERSION}/data
  9. OOMScoreAdjust=-1000
  10. 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
  11. EOF
  12. [root@postgre-sql ~]# systemctl daemon-reload[root@postgre-sql ~]# systemctl enable --now postgresql.service

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

在这里插入图片描述

  1. [root@postgre-sql ~]# yum search postgresql1
  2. 已加载插件:fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. ========================================================================================================================================================= N/S matched: postgresql1 =========================================================================================================================================================
  5. postgresql12-odbc-debuginfo.x86_64 : Debug information for package postgresql12-odbc
  6. postgresql11.x86_64 : PostgreSQL client programs and libraries
  7. postgresql11-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
  8. postgresql11-devel.x86_64 : PostgreSQL development header files and libraries
  9. postgresql11-docs.x86_64 : Extra documentation for PostgreSQL
  10. postgresql11-libs.x86_64 : The shared libraries required for any PostgreSQL clients
  11. postgresql11-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
  12. postgresql11-odbc.x86_64 : PostgreSQL ODBC driver
  13. postgresql11-plperl.x86_64 : The Perl procedural language for PostgreSQL
  14. postgresql11-plpython.x86_64 : The Python procedural language for PostgreSQL
  15. postgresql11-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
  16. postgresql11-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
  17. postgresql11-server.x86_64 : The programs needed to create and run a PostgreSQL server
  18. postgresql11-tcl.x86_64 : A Tcl client library for PostgreSQL
  19. postgresql11-test.x86_64 : The test suite distributed with PostgreSQL
  20. postgresql12.x86_64 : PostgreSQL client programs and libraries
  21. postgresql12-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
  22. postgresql12-devel.x86_64 : PostgreSQL development header files and libraries
  23. postgresql12-docs.x86_64 : Extra documentation for PostgreSQL
  24. postgresql12-libs.x86_64 : The shared libraries required for any PostgreSQL clients
  25. postgresql12-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
  26. postgresql12-odbc.x86_64 : PostgreSQL ODBC driver
  27. postgresql12-plperl.x86_64 : The Perl procedural language for PostgreSQL
  28. postgresql12-plpython.x86_64 : The Python procedural language for PostgreSQL
  29. postgresql12-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
  30. postgresql12-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
  31. postgresql12-server.x86_64 : The programs needed to create and run a PostgreSQL server
  32. postgresql12-tcl.x86_64 : A Tcl client library for PostgreSQL
  33. postgresql12-test.x86_64 : The test suite distributed with PostgreSQL
  34. postgresql13.x86_64 : PostgreSQL client programs and libraries
  35. postgresql13-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
  36. postgresql13-devel.x86_64 : PostgreSQL development header files and libraries
  37. postgresql13-docs.x86_64 : Extra documentation for PostgreSQL
  38. postgresql13-libs.x86_64 : The shared libraries required for any PostgreSQL clients
  39. postgresql13-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
  40. postgresql13-odbc.x86_64 : PostgreSQL ODBC driver
  41. postgresql13-plperl.x86_64 : The Perl procedural language for PostgreSQL
  42. postgresql13-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
  43. postgresql13-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
  44. postgresql13-server.x86_64 : The programs needed to create and run a PostgreSQL server
  45. postgresql13-test.x86_64 : The test suite distributed with PostgreSQL
  46. postgresql14.x86_64 : PostgreSQL client programs and libraries
  47. postgresql14-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
  48. postgresql14-devel.x86_64 : PostgreSQL development header files and libraries
  49. postgresql14-docs.x86_64 : Extra documentation for PostgreSQL
  50. postgresql14-libs.x86_64 : The shared libraries required for any PostgreSQL clients
  51. postgresql14-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
  52. postgresql14-odbc.x86_64 : PostgreSQL ODBC driver
  53. postgresql14-plperl.x86_64 : The Perl procedural language for PostgreSQL
  54. postgresql14-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
  55. postgresql14-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
  56. postgresql14-server.x86_64 : The programs needed to create and run a PostgreSQL server
  57. postgresql14-tcl.x86_64 : A Tcl client library for PostgreSQL
  58. postgresql14-test.x86_64 : The test suite distributed with PostgreSQL
  59. postgresql15.x86_64 : PostgreSQL client programs and libraries
  60. postgresql15-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
  61. postgresql15-devel.x86_64 : PostgreSQL development header files and libraries
  62. postgresql15-docs.x86_64 : Extra documentation for PostgreSQL
  63. postgresql15-libs.x86_64 : The shared libraries required for any PostgreSQL clients
  64. postgresql15-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
  65. postgresql15-odbc.x86_64 : PostgreSQL ODBC driver
  66. postgresql15-plperl.x86_64 : The Perl procedural language for PostgreSQL
  67. postgresql15-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
  68. postgresql15-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
  69. postgresql15-server.x86_64 : The programs needed to create and run a PostgreSQL server
  70. postgresql15-tcl.x86_64 : A Tcl client library for PostgreSQL
  71. postgresql15-test.x86_64 : The test suite distributed with PostgreSQL
  72. 名称和简介匹配 only,使用“search all”试试。
  73. [root@postgre-sql ~]#

标签: postgresql 数据库

本文转载自: https://blog.csdn.net/sinat_36528886/article/details/134959180
版权归原作者 DBA圈小圈 所有, 如有侵权,请联系我们删除。

“【PostgreSQL】从零开始:(二)PostgreSQL下载与安装”的评论:

还没有评论