如何在CentOS 9 Stream上安装PostgreSQL 11
首先
我在CentOS 9 Stream上安装了PostgreSQL 11,以下是安装和初始设置的步骤,作为备忘录留下来。
程序
安装
请在以下网站上输入您的环境和所需的PostgreSQL版本。
本次安装在CentOS 9 Stream上,选择PostgreSQL 11。
https://www.postgresql.org/download/linux/redhat/
首先启动终端,并进行仓库设置。
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的模块将在接下来被添加。
所以,跳过关于模块禁用的部分,开始安装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 行)
问题没有,成功执行了。