PostgreSQL 16数据库的yum、编译、docker三种方式安装

作者:梅琳marlin2024.01.22 13:57浏览量:37

简介:本文将介绍如何通过yum、编译和docker三种方式安装PostgreSQL 16数据库,帮助读者了解不同安装方式的优缺点和适用场景。

在筑梦之路中,PostgreSQL数据库的安装是不可或缺的一环。本文将介绍三种常见的安装方式:yum安装、编译安装和Docker安装,帮助读者更好地理解和应用PostgreSQL 16数据库。
一、yum方式安装
yum是Red Hat系列Linux发行版的包管理工具,可以自动安装、更新、删除软件包。通过yum方式安装PostgreSQL 16数据库非常方便,只需要执行以下步骤:

  1. 打开终端,以root用户身份登录。
  2. 下载并安装PostgreSQL的yum源:
    1. wget https://www.postgresql.org/download/linux/redhat/postgresql-yum.repo -O /etc/yum.repos.d/postgresql-yum.repo
  3. 执行yum命令安装PostgreSQL 16:
    1. yum install postgresql16
  4. 初始化数据库:
    1. postgresql-setup initdb
  5. 启动数据库服务:
    1. systemctl start postgresql-16
    优点:简单易用,适用于已经配置好yum源的环境。
    缺点:需要联网下载安装包,速度较慢。
    适用场景:适用于已经配置好yum源的Linux发行版环境。
    二、编译方式安装
    如果无法使用yum方式安装PostgreSQL 16,可以考虑通过编译方式安装。以下是一些编译安装的步骤:
  6. 准备编译环境:安装开发工具和库文件,如gcc、libpqxx等。具体依赖关系可以根据系统环境和PostgreSQL官方文档进行确定。
  7. 下载PostgreSQL源码:从PostgreSQL官方网站或其他可信源下载源码包。
  8. 解压源码包:使用tar命令解压源码包到指定目录。
  9. 配置编译选项:根据需要配置编译选项,如安装路径、内存分配等。通常在解压目录下的configure脚本中指定。
  10. 编译源码:执行make命令编译源码。
  11. 安装程序:执行make install命令将编译结果安装到系统中。
  12. 初始化数据库:运行postgresql-setup脚本来初始化数据库。
  13. 启动数据库服务:使用systemctl命令启动PostgreSQL服务。
    优点:灵活性高,可以根据具体需求定制编译选项和配置文件。
    缺点:需要手动处理依赖关系,相对较为复杂。
    适用场景:适用于对性能和配置有较高要求的场景,或无法使用yum方式安装的环境。
    三、Docker方式安装
    Docker是一个容器化技术的开源项目,可以将应用程序及其依赖打包到一个可移植的容器中,便于在不同环境之间迁移和部署。以下是一些使用Docker方式安装PostgreSQL 16的步骤:
  14. 下载PostgreSQL的Docker镜像:使用docker pull命令从Docker Hub或其他可信源下载PostgreSQL的镜像文件。例如:docker pull postgres:16
  15. 运行容器:使用docker run命令启动一个PostgreSQL容器实例。例如:docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres:16。其中,my-postgres是容器的名称,mysecretpassword是设置的密码,postgres:16是使用的镜像版本。
  16. 连接容器:使用docker exec命令进入容器的shell环境,或使用其他工具连接到容器的PostgreSQL数据库。例如:docker exec -it my-postgres psql -U postgres。其中,my-postgres是容器的名称,psql是PostgreSQL的命令行工具,-U postgres表示使用默认的数据库用户名。
  17. 管理容器:可以使用docker start和docker stop命令来启动和停止容器实例,也可以使用docker rm命令删除不再需要的容器实例。例如:docker start my-postgresdocker stop my-postgres
  18. 数据持久化:如果需要将数据保存在容器之外的持久化存储中,可以挂载宿主机的目录到容器内的数据目录,如容器的/var/lib/postgresql/data目录。例如:`docker run —name my-postgres -v /path/on/host:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpassword -d postgres: