ITPub博客

首页 > 数据库 > 数据库开发技术 > 《PostgreSQL 开发指南》第 03 篇 PostgreSQL 安装

《PostgreSQL 开发指南》第 03 篇 PostgreSQL 安装

原创 数据库开发技术 作者:BUAA_dxy 时间:2022-02-04 21:21:44 0 删除 编辑

上一篇简单介绍了 PostgreSQL 数据库。PostgreSQL 支持各种平台,包括 Linux 、Windows、FreeBSD、OpenBSD、NetBSD、macOS、AIX、HP/UX 以及 Solaris。不同的平台支持不同的安装方法,通常可以分为以下几类:

二进制安装包,通过官方下载页面,选择相应的操作系统版本进行下载安装。某些操作系统(Windows、macOS)提供了图形化的安装工具。

源码编译安装,适合高级用户,通过 ftp 文件浏览器(https://www.postgresql.org/ftp/source/)或者 git.postgresql.org 下载源文件代码,参考官方文档执行源码安装。

第三方发行版,同样通过官方下载页面,可以找到许多第三方提供的打包软件,例如 LAPP 组合。

本文主要介绍如何通过 Yum 源安装 PostgreSQL 软件,这种方式适用于所有的 Red Hat Linux 家族以及衍生版:

  • Red Hat Enterprise Linux

  • CentOS

  • Fedora

  • Scientific Linux

  • Oracle Linux

接下来我们基于 CentOS 7 X86_64 安装 PostgreSQL 12。第一步就是下载并安装 Yum 源,在下载页面点击“Linux ->
Red Hat/CentOS”,然后在页面选择相应的 PostgreSQL 版本和操作系统平台。

按照第 4 步提供的命令安装 Yum 源(使用 root 用户执行操作):
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

提示输入信息时,输入 “y” 即可。

安装之前先确认是否已经存在 PostgreSQL:

rpm -qa | grep postgres

如果存在,使用以下命令删除之前的安装包:

rpm -e postgresqlXX

然后安装页面提示执行第 5 步安装 PostgreSQL 客户端和依赖库:

yum install postgresql12

接下来第 6 步是安装 PostgreSQL 服务器:

yum install postgresql12-server

至此,完成了软件的安装。第 7 步是初始化一个数据库,并且启动 PostgreSQL 服务和开机后的自启动:

/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12

执行完成后,可以通过操作系统的 ps 命令查看 PostgreSQL 后台进程:

[root@centos7 ~]# ps -ef | grep postgres | grep -v 'grep'
postgres 29118 1 0 16:57 ? 00:00:00 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
postgres 29120 29118 0 16:57 ? 00:00:00 postgres: logger
postgres 29122 29118 0 16:57 ? 00:00:00 postgres: checkpointer
postgres 29123 29118 0 16:57 ? 00:00:00 postgres: background writer
postgres 29124 29118 0 16:57 ? 00:00:00 postgres: walwriter
postgres 29125 29118 0 16:57 ? 00:00:00 postgres: autovacuum launcher
postgres 29126 29118 0 16:57 ? 00:00:00 postgres: stats collector
postgres 29127 29118 0 16:57 ? 00:00:00 postgres: logical replication launcher

通过以上输出,可以看出 PostgreSQL 安装在“/usr/pgsql-12”目录中,初始化数据库的数据目录为“/var/lib/pgsql/12/data”。同时,操作系统创建了一个新的用户“postgres”。

除此之外,还可以安装一些第三方的扩展包和管理工具:

yum install postgresql12-contrib
yum pgadmin4

最后,使用命令行工具“psql”测试数据库的连接:

[root@centos7 ~]# su - postgres
Last login: Sun May 17 10:30:23 CST 2020 on pts/1
-bash-4.2$ psql
psql (12.3)
Type "help" for help.

postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)

默认情况下,PostgreSQL 只接收本机的连接请求。如果需要通过远程客户端进行连接,可以执行以下两个步骤(使用 postgres 用户操作):

修改 postgresql.conf 文件中的监听地址,该文件位于数据目录(/var/lib/pgsql/12/data/)中。找到以下内容:

#listen_addresses = 'localhost'         # what IP address(es) to listen on;

将 ‘localhost’ 修改为服务器的 IP 地址或者 ‘*’:

listen_addresses = '192.68.56.103'

修改 pg_hba.conf 文件中的客户端认证配置,该文件位于数据目录(/var/lib/pgsql/12/data/)中。增加以下内容,允许所有客户端 IP 访问:

host	all		all		0.0.0.0/0			md5

重启服务即可(使用 root 用户操作):

systemctl restart postgresql-12

对于 Windows 和 macOS 用户,推荐使用图形化工具进行安装。可以通过官方下载页面找到相应操作系统的链接。也可以直接使用 EnterpriseDB 图形化安装工具进行安装。

使用图形化工具进行安装的过程比较简单,安装提示输入信息并点击下一步即可。


原文作者:SQL编程思想;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
《SQL编程思想》作者,专注于数据库领域知识的分享。

注册时间:2021-08-26

  • 博文量
    443
  • 访问量
    546977