51 openEuler搭建PostgreSQL数据库服务器-安装、运行和卸载
51.1 安装
-
配置本地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) <defaultkey@localobs>" 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 ~]#
51.2 运行
51.2.1 初始化数据库
注意: 此步骤在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 <command>". [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 ~]$
51.2.2 启动数据库
-
启动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相关进程已经正常启动了。
51.2.3 登录数据库
登录数据库。
$ psql -U postgres
说明: 初次登录数据库,无需密码。
例如示例命令如下:
[postgres@superman-21 ~]$ psql -U postgres
psql (13.3)
输入 "help" 来获取帮助信息.
postgres=#
51.2.4 配置数据库账号密码
登录后,设置postgres密码。
postgres=# alter user postgres with password '123456';
例如示例命令如下:
postgres=# alter user postgres with password '123456';
ALTER ROLE
postgres=#
51.2.5 退出数据库
执行\q退出数据库。
postgres=# \q
例如示例命令如下:
postgres=# \q
[postgres@superman-21 ~]$
51.2.6 停止数据库
停止PostgreSQL数据库。
$ pg_ctl -D /data/ -l /data/logfile stop
例如示例命令如下:
[postgres@superman-21 ~]$ pg_ctl -D /data/ -l /data/postgres.log stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[postgres@superman-21 ~]$
51.3 卸载
-
在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 ~]#
标签:PostgreSQL,postgres,oe2203,51,64,postgresql,openEuler,13.3,x86 From: https://blog.51cto.com/u_237826/6181579