PostgreSQL 是一个功能强大的开源对象关系数据库管理系统 (DBMS)。它通过了超过 35 年的战斗测试,这为它在可靠性和性能方面博得了弱小的名誉。这个功能丰富的数据库被许多科技巨头应用,如苹果、IMDB、Instagram 等。
PostgreSQL 反对大量的 SQL 规范,并且在很多方面都能够被用户扩大。一些突出的个性包含 ACID 事务、外键、子查问、触发器、用户定义的类型、函数等。
必要条件
在装置 PostgreSQL 服务器之前,请确保零碎满足以下装置要求
- Pre-Installed Ubuntu 22.04
- A regular user with sudo rights
- An active internet connection
- At least 2 GB of RAM with an additional 512 MB of disk space. Please
note that this is a minimal requirement for the demo environment. The
actual hardware configuration will vary with data volume.
(1) 启用 PostgreSQL 包存储库
PostgreSQL 15 包在默认包存储库中不可用,因而应用以下命令启用它的官网包存储库。
$ sudo sh -c 'echo"deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main"> /etc/apt/sources.list.d/pgdg.list'
$ wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
应用 apt update 命令获取包的最新版本
$ sudo apt update
(2) 装置数据库服务端和客户端
postgresql 包装置的是数据库服务器,而 postgresql-client 包装置的是客户端实用程序。
应用上面的 apt 命令装置 PostgreSQL 客户端和服务器
$ sudo apt install postgresql postgresql-client -y
验证 PostgreSQL 服务是否启动并运行
$ sudo systemctl status postgresql
应用 psql 命令行实用程序查看 PostgreSQL 版本
$ psql --version
在这里,咱们能够看到 PostgreSQL 的版本是 15
(3) 更新管理员用户明码
默认状况下,咱们能够不应用任何明码连贯到 PostgreSQL 服务器。
$ sudo -u postgres psql
postgres=#
在下面的输入中,postgres=# 提示符示意与 PostgreSQL 服务器的流动连贯。
在本例中,咱们应用了 postgres 用户。这是 PostgreSQL 的一个治理用户,在装置过程中创立。
容许管理员不应用明码拜访数据库不是一个好主见。让咱们为 postgres 用户设置明码
postgres=# ALTER USER postgres PASSWORD 'demoPassword';
下面的 SQL 查问将用户明码设置为 dempassword。请留神,咱们应用了非常简单的明码,因为这是一个演示环境。然而,在生产环境中不倡议这样做。
让咱们验证一下明码是否设置胜利,应用 \q 命令终止与服务器的以后会话。
postgres=# \q
咱们再次连贯数据库服务器
$ psql -h localhost -U postgres
输出 dempassword 字符串作为明码,咱们能够胜利连贯到数据库。
(4) 配置 PostgreSQL 容许近程连贯
默认状况下,PostgreSQL 只承受来自本地主机的连贯。咱们能够批改配置,容许近程客户机的连贯。
For example, in our case the full path of the file is /etc/postgresql/15/main/postgresql.conf.
应用编辑器关上 /etc/postgresql/15/main/postgresql.conf 配置文件
勾销 listen_addresses 结尾的行正文,用 * 替换 localhost
批改后的文件看起来像这样
保留并敞开该文件
接下来,编辑 pg hba.conf 文件的 IPv4 本地连接局部,以容许来自所有客户端的 IPv4 连贯。
$ sudo vi /etc/postgresql/15/main/pg_hba.conf
批改后的文件看起来像这样
下面的配置中批示容许从网络 192.168.1.0/24 进行连贯
如果开启了防火墙,那么应用上面的命令容许 PostgreSQL 5432 端口
$ sudo ufw allow 5432/tcp
验证近程连贯
最初,重新启动服务并查看它是否失常运行
$ sudo systemctl restart postgresql
$ sudo systemctl status postgresql
让咱们尝试从近程客户端拜访数据库服务器
$ psql -h 192.168.1.192 -U postgres
在本例中,192.168.1.192 为 PostgreSQL 数据库服务器的 IP 地址
能够看到咱们可能从近程客户机胜利拜访数据库服务器
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)