如何在CentOS 9 Stream上安装PostgreSQL 11

首先

我在CentOS 9 Stream上安装了PostgreSQL 11,以下是安装和初始设置的步骤,作为备忘录留下来。

程序

安装

请在以下网站上输入您的环境和所需的PostgreSQL版本。
本次安装在CentOS 9 Stream上,选择PostgreSQL 11。
https://www.postgresql.org/download/linux/redhat/

image.png

首先启动终端,并进行仓库设置。
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

(Chinese translation)

インストール済み:
  pgdg-redhat-repo-42.0-24.noarch

完了しました!

暂时检查一下/etc/yum.repos.d文件夹
列出/etc/yum.repos.d/的内容

[root@localhost ~]# ll /etc/yum.repos.d/
合計 24
-rw-r--r--. 1 root root  4229  3月  3 03:30 centos-addons.repo
-rw-r--r--. 1 root root  2588  3月  3 03:30 centos.repo
-rw-r--r--. 1 root root 10268  3月 16 18:33 pgdg-redhat-all.repo

如果有pgdg-redhat-all.repo就可以了。

随后执行dnf update。
dnf update -y后,将开始导入GPG密钥以及更新软件包。

在禁用模块之前,请先确认当前可用的模块。

[root@localhost ~]# dnf module list
メタデータの期限切れの最終確認: 0:28:09 時間前の 2022年04月12日 22時38分53秒 に 実施しました。
[root@localhost ~]#

根据最新的信息(截至2022年4月12日),没有显示任何特别的内容。根据以下网站的说法,CentOS 9 Stream的模块将在接下来被添加。

CentOS 9-stream Modules?

所以,跳过关于模块禁用的部分,开始安装PostgreSQL 11。
使用dnf命令安装-y选项安装postgresql11-server。

インストール済み:
  postgresql11-11.15-1PGDG.rhel9.x86_64
  postgresql11-libs-11.15-1PGDG.rhel9.x86_64
  postgresql11-server-11.15-1PGDG.rhel9.x86_64

完了しました!

postgresql11已经安装完成。
确认一下版本。
输入命令:psql –version。

[root@localhost ~]# psql --version
psql (PostgreSQL) 11.15

十一已经被正确地安装。

最初的设置

接下来进行初始设置。
确认安装了postgresql后已创建postgres用户。
id postgres

[root@localhost ~]# id postgres
uid=26(postgres) gid=26(postgres) groups=26(postgres)

由于已经正确地创建了 postgres 用户,现在需要设置密码。

passwd: すべての認証トークンが正しく更新できました。

如果这样的事情发生了,那就没问题。 (If something like this comes up, it’s okay.)

接下来创建数据库集群。
/usr/pgsql-11/bin/postgresql-11-setup initdb

[root@localhost ~]# /usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK

通过设置自动启动并启动服务,postgresql-11.service现在可以启动了。
设置自动启动,并启动服务来测试。
systemctl enable postgresql-11.service
systemctl is-enabled postgresql-11.service
systemctl start postgresql-11.service
systemctl is-active postgresql-11.service

[root@localhost ~]# systemctl enable postgresql-11.service
[root@localhost ~]# systemctl is-enabled postgresql-11.service
enabled
[root@localhost ~]# systemctl start postgresql-11.service
[root@localhost ~]# systemctl is-active postgresql-11.service
active

接下来,我们也要进行防火墙的设置。
因为postgresql默认使用5432/tcp端口,所以要先打开此端口。
命令如下:
firewall-cmd –permanent –add-port=5432/tcp
firewall-cmd –reload
firewall-cmd –list-ports

[root@localhost ~]# firewall-cmd --permanent --add-port=5432/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-ports
5432/tcp

这样完成了初始设置。

稍微触摸

既经这么辛苦,不妨试着用psql玩一下postgresql。
根据以下手册创建表并插入数据试试看。
https://www.postgresql.jp/document/11/html/dml-insert.html

postgres=# CREATE TABLE products (
    product_no integer,
    name text,
    price numeric
);
CREATE TABLE
postgres=#
postgres=# \dt
             リレーション一覧
 スキーマ |   名前   |    型    |  所有者
----------+----------+----------+----------
 public   | products | テーブル | postgres
(1 行)

postgres=#
postgres=# INSERT INTO products VALUES (1, 'Cheese', 9.99);
INSERT 0 1
postgres=#
postgres=# SELECT * from products;
 product_no |  name  | price
------------+--------+-------
          1 | Cheese |  9.99
(1 行)

问题没有,成功执行了。

广告
将在 10 秒后关闭
bannerAds