配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》
清除缓存。
# dnf clean all
例如示例命令如下:
[root@superman-21 ~]# dnf clean all
36 files removed
[root@superman-21 ~]#
创建缓存。
# dnf makecache
例如示例命令如下:
[root@superman-21 ~]# dnf makecache
OS 1.6 MB/s | 3.4 MB 00:02
everything 6.5 MB/s | 16 MB 00:02
EPOL 4.3 MB/s | 2.6 MB 00:00
debuginfo 5.4 MB/s | 3.9 MB 00:00
source 3.2 MB/s | 1.7 MB 00:00
update 9.2 MB/s | 29 MB 00:03
Metadata cache created.
[root@superman-21 ~]#
在root权限下安装PostgreSQL服务器。
# dnf install postgresql-server
例如示例命令如下:
[root@superman-21 ~]# dnf install postgresql-server
Last metadata expiration check: 0:00:57 ago on 2022年12月22日 星期四 20时17分30秒.
Dependencies resolved.
===============================================================================================================================
Package Architecture Version Repository Size
===============================================================================================================================
Installing:
postgresql-server x86_64 13.3-7.oe2203 update 5.4 M
Installing dependencies:
postgresql x86_64 13.3-7.oe2203 update 1.6 M
Transaction Summary
===============================================================================================================================
Install 2 Packages
Total download size: 7.0 M
Installed size: 29 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): postgresql-13.3-7.oe2203.x86_64.rpm 3.2 MB/s | 1.6 MB 00:00
(2/2): postgresql-server-13.3-7.oe2203.x86_64.rpm 3.4 MB/s | 5.4 MB 00:01
-------------------------------------------------------------------------------------------------------------------------------
Total 4.4 MB/s | 7.0 MB 00:01
retrieving repo key for update unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
update 23 kB/s | 2.1 kB 00:00
Importing GPG key 0xB25E7F66:
Userid : "private OBS (key without passphrase) "
Fingerprint: 12EA 74AC 9DF4 8D46 C69C A0BE D557 065E B25E 7F66
From : http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : postgresql-13.3-7.oe2203.x86_64 1/2
Running scriptlet: postgresql-server-13.3-7.oe2203.x86_64 2/2
Installing : postgresql-server-13.3-7.oe2203.x86_64 2/2
Running scriptlet: postgresql-server-13.3-7.oe2203.x86_64 2/2
/usr/lib/tmpfiles.d/postgresql.conf:1: Line references path below legacy directory /var/run/, updating /var/run/postgresql → /run/postgresql; please update the tmpfiles.d/ drop-in file accordingly.
Verifying : postgresql-13.3-7.oe2203.x86_64 1/2
Verifying : postgresql-server-13.3-7.oe2203.x86_64 2/2
Installed:
postgresql-13.3-7.oe2203.x86_64 postgresql-server-13.3-7.oe2203.x86_64
Complete!
[root@superman-21 ~]#
查看安装后的rpm包。
# rpm -qa | grep postgresql
例如示例命令如下:
[root@superman-21 ~]# rpm -qa | grep postgresql
postgresql-13.3-7.oe2203.x86_64
postgresql-server-13.3-7.oe2203.x86_64
[root@superman-21 ~]#
注意:
此步骤在postgres用户下操作。
切换到已创建的PostgreSQL用户。
# su - postgres
例如示例命令如下:
[root@superman-21 ~]# su - postgres
Welcome to 5.10.0-60.18.0.50.oe2203.x86_64
System information as of time: 2022年 12月 22日 星期四 20:21:50 CST
System load: 0.99
Processes: 151
Memory used: 6.4%
Swap used: 0%
Usage On: 7%
IP address: 192.168.0.21
IP address: 192.168.122.1
Users online: 1
To run a command as administrator(user "root"),use "sudo " .
[postgres@superman-21 ~]$
初始化数据库,其中命令中的/usr/bin是命令initdb所在的目录。
$ initdb -D /data/
例如示例命令如下:
[postgres@superman-21 ~]$ initdb -D /data/
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.
默认的数据库编码已经相应的设置为 "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
缺省的文本搜索配置将会被设置到"simple"
禁止为数据页生成校验和.
修复已存在目录 /data 的权限 ... 成功
正在创建子目录 ... 成功
选择动态共享内存实现 ......posix
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 128MB
selecting default time zone ... Asia/Shanghai
创建配置文件 ... 成功
正在运行自举脚本 ...成功
正在执行自举后初始化 ...成功
同步数据到磁盘...成功
initdb: 警告: 为本地连接启用"trust"身份验证
你可以通过编辑 pg_hba.conf 更改或你下次
执行 initdb 时使用 -A或者--auth-local和--auth-host选项.
成功。您现在可以用下面的命令开启数据库服务器:
/usr/bin/pg_ctl -D /data/ -l 日志文件 start
[postgres@superman-21 ~]$
启动PostgreSQL数据库。
$ pg_ctl -D /data/ -l /data/logfile start
例如示例命令如下:
[postgres@superman-21 ~]$ pg_ctl -D /data/ -l /data/postgres.log start
等待服务器进程启动 .... 完成
服务器进程已经启动
[postgres@superman-21 ~]$
确认PostgreSQL数据库进程是否正常启动。
$ ps -ef | grep postgres
命令执行后,打印信息如下图所示,PostgreSQL相关进程已经正常启动了。
登录数据库。
$ psql -U postgres
说明:
初次登录数据库,无需密码。
例如示例命令如下:
[postgres@superman-21 ~]$ psql -U postgres
psql (13.3)
输入 "help" 来获取帮助信息.
postgres=#
登录后,设置postgres密码。
postgres=# alter user postgres with password '123456';
例如示例命令如下:
postgres=# alter user postgres with password '123456';
ALTER ROLE
postgres=#
执行\q退出数据库。
postgres=# \q
例如示例命令如下:
postgres=# \q
[postgres@superman-21 ~]$
停止PostgreSQL数据库。
$ pg_ctl -D /data/ -l /data/logfile stop
例如示例命令如下:
[postgres@superman-21 ~]$ pg_ctl -D /data/ -l /data/postgres.log stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[postgres@superman-21 ~]$
在postgres用户下停止数据库。
$ pg_ctl -D /data/ -l /data/logfile stop
例如示例命令如下:
[postgres@superman-21 ~]$ pg_ctl -D /data/ -l /data/postgres.log stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[postgres@superman-21 ~]$
在root用户下执行dnf remove postgresql-server卸载PostgreSQL数据库。
# dnf remove postgresql-server
例如示例命令如下:
[root@superman-21 ~]# dnf remove postgresql-server
Dependencies resolved.
===============================================================================================================================
Package Architecture Version Repository Size
===============================================================================================================================
Removing:
postgresql-server x86_64 13.3-7.oe2203 @update 22 M
Removing unused dependencies:
postgresql x86_64 13.3-7.oe2203 @update 6.2 M
Transaction Summary
===============================================================================================================================
Remove 2 Packages
Freed space: 29 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: postgresql-server-13.3-7.oe2203.x86_64 1/1
Running scriptlet: postgresql-server-13.3-7.oe2203.x86_64 1/2
Erasing : postgresql-server-13.3-7.oe2203.x86_64 1/2
Running scriptlet: postgresql-server-13.3-7.oe2203.x86_64 1/2
Erasing : postgresql-13.3-7.oe2203.x86_64 2/2
Running scriptlet: postgresql-13.3-7.oe2203.x86_64 2/2
Verifying : postgresql-13.3-7.oe2203.x86_64 1/2
Verifying : postgresql-server-13.3-7.oe2203.x86_64 2/2
Removed:
postgresql-13.3-7.oe2203.x86_64 postgresql-server-13.3-7.oe2203.x86_64
Complete!
[root@superman-21 ~]#
点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!