什么是 PostgreSQL
PostgreSQL 是我们经常选择的数据库之一。它不仅仅是关系型数据库,同时也添加了对JSON数据的支持、全文检索功能,以及其他扩展。
PostgreSQL 是基于 POSTGRES 版本 4.2 的对象关系数据库管理系统 (ORDBMS),由加州大学伯克利分校计算机科学系开发。 POSTGRES 开创了许多概念,这些概念直到很久以后才在某些商业数据库系统中出现。
PostgreSQL 是这个原始伯克利代码的开源后代。它支持大部分 SQL 标准并提供许多现代特性:
- complex queries
- foreign keys
- triggers
- updatable views
- transactional integrity
- multiversion concurrency control
此外,用户可以通过多种方式扩展 PostgreSQL,例如通过添加新的
- data types
- functions
- operators
- aggregate functions
- index methods
- procedural languages
并且由于自由许可证,任何人都可以出于任何目的免费使用、修改和分发 PostgreSQL,无论是私人的、商业的还是学术的。
安装 PostgreSQL 13
安装 yum 仓库
1
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装 PostgreSQL 服务端
1
yum install -y postgresql13-server
执行 PostgreSQL 数据库初始化
1
/usr/pgsql-13/bin/postgresql-13-setup initdb
启动 PostgreSQL 并配置开机启动
1
systemctl enable --now postgresql-13.service
修改 PostgreSQL 配置文件 postgresql.conf,设置 PostgreSQL 开放端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30# vim /var/lib/pgsql/13/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
...
# vim /var/lib/pgsql/13/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
#host all all 127.0.0.1/32 scram-sha-256
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication all peer
#host replication all 127.0.0.1/32 scram-sha-256
#host replication all ::1/128 scram-sha-256重启 PostgreSQL
1
systemctl restart postgresql-13.service
测试登录 PostgreSQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 切换到 postgres 用户
su - postgres
# 执行以下命令进入数据库
psql -U postgres
# 退出数据库
\q
# 查看版本
select version();
# 修改密码
\password
安装 pgAdmin4
pgAdmin 是 phppgadmin 的更高级的替代品。它是 PostgreSQL 数据库服务器最流行且功能最丰富的开源管理平台。它适用于 Linux、Unix、macOS 和 Windows 操作系统。
pgAdmin 4 是增强版,是对 pgAdmin 的完全重写。其中包括用 NWjs 编写的桌面版本以及可以直接部署在 Web 服务器上的 Web 应用程序。桌面版可帮助您从本地计算机访问它,而 Web 服务器可让您从远程系统访问。
安装 pgAdmin4 的 yum 仓库
1
2
3
4
5# 查看 pgadmin 相关的软件包
yum list |grep pgadmin
# 添加 pgadmin4 仓库源
yum install -y pgadmin4-redhat-repo.noarch安装 pgadmin4-web
1
yum install -y pgadmin4-web.noarch
pgadmin4 包包含 pgadmin4-web 和 pgadmin4-desktop 版本:
- pgadmin4-web – 提供可在 Web 浏览器中访问的 Web 界面
- pgadmin4-desktop – 为系统提供桌面应用程序,需要安装桌面系统。
要安装在远程服务器(或没有可用的桌面)上,只能使用 “pgadmin4-web” 包。对于安装了 Desktop 的本地系统,可以使用这两个版本。
配置 pgAdmin4-Web,安装了 pgadmin4-web 后,需要运行下面的命令进行配置。这将向 pgAdmin4 Web 仪表板添加一个登录屏幕。
1
/usr/pgadmin4/bin/setup-web.sh
上面的脚本将提示您创建用户以访问 Web 界面。出现提示时输入电子邮件地址和密码。
脚本完成后,打开浏览器访问
http://10.1.40.51/pgadmin4
登录 pgAdmin4 的 Dashboard
将 PostgreSQL 服务器添加到 pgAdmin4,成功登录 pgAdmin4 Web 界面后。让我们开始将 PostgreSQL 实例添加到 pgAdmin4。您可以添加在本地计算机和远程主机上运行的多个数据库服务器。