在openEuler 22.03上使用yum安装PostgreSQL单机环境
Tags: openEulerPGPostgreSQLyum安装部署
环境申请
由于环境要国产化,选择openEuler 22.03 LTS
系统,这里测试一下在openEuler上安装PG,过程如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | docker rm -f lhropeneuler22 docker run -itd --name lhropeneuler22 -h lhropeneuler22 \ -p 15432:5432 -p 7389:3389 \ --privileged=true \ -v /sys/fs/cgroup:/sys/fs/cgroup \ lhrbest/openeuler22:2.0 \ init docker exec -it lhropeneuler22 bash [root@lhropeneuler22 /]# cat /etc/os-release NAME="openEuler" VERSION="22.03 LTS" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 LTS" ANSI_COLOR="0;31" |
安装PG
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | -- 默认安装PG 13.3.7 yum install -y postgresql postgresql-server postgresql-contrib [root@lhropeneuler22 soft]# rpm -aq| grep postgres postgresql-13.3-7.oe2203.x86_64 postgresql-server-13.3-7.oe2203.x86_64 postgresql-contrib-13.3-7.oe2203.x86_64 -- 初始化 /usr/bin/postgresql-setup initdb systemctl enable postgresql.service systemctl start postgresql.service systemctl status postgresql.service [root@lhropeneuler22 /]# systemctl status postgresql.service ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2023-03-10 12:28:14 CST; 9s ago Process: 4453 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS) Main PID: 4455 (postmaster) Tasks: 8 (limit: 411139) Memory: 14.0M CGroup: /docker/54a7256274ea4b7de2c11b57c7f07226a520c34178effcb3a06b2da35ea96144/system.slice/postgresql.service ├─4455 /usr/bin/postmaster -D /var/lib/pgsql/data ├─4456 "postgres: logger " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ├─4458 "postgres: checkpointer " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ├─4459 "postgres: background writer " "" "" "" "" "" "" "" "" "" "" "" "" "" "" ├─4460 "postgres: walwriter " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ├─4461 "postgres: autovacuum launcher " "" "" "" "" "" "" "" "" "" "" "" "" ├─4462 "postgres: stats collector " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" └─4463 "postgres: logical replication launcher " "" "" "" Mar 10 12:28:14 lhropeneuler22 systemd[1]: Starting PostgreSQL database server... Mar 10 12:28:14 lhropeneuler22 postmaster[4455]: 2023-03-10 12:28:14.227 CST [4455] LOG: redirecting log output to logging collector process Mar 10 12:28:14 lhropeneuler22 postmaster[4455]: 2023-03-10 12:28:14.227 CST [4455] HINT: Future log output will appear in directory "log". Mar 10 12:28:14 lhropeneuler22 systemd[1]: Started PostgreSQL database server. [root@lhropeneuler22 /]# |
修改密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | -- 本地登陆 su - postgres psql -- 安装插件 create extension pageinspect; create extension pg_stat_statements; select * from pg_extension ; select * from pg_available_extensions order by name; postgres=# select * from pg_extension ; oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition -------+--------------------+----------+--------------+----------------+------------+-----------+-------------- 13490 | plpgsql | 10 | 11 | f | 1.0 | | 16384 | pageinspect | 10 | 2200 | t | 1.8 | | 16416 | pg_stat_statements | 10 | 2200 | t | 1.8 | | (3 rows) postgres=# -- 修改postgres密码 alter user postgres with encrypted password 'lhr'; 或 \password select * from pg_tables; select version(); postgres=# select version(); version ----------------------------------------------------------------------------------------- PostgreSQL 13.3 on x86_64-openEuler-linux-gnu, compiled by gcc_old (GCC) 10.3.1, 64-bit (1 row) postgres=# |
配置远程登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | -- 配置允许PG远程登录,注意版本: cat >> /var/lib/pgsql/data/postgresql.conf <<"EOF" listen_addresses = '*' port=5432 unix_socket_directories='/var/lib/pgsql/data' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%a.log' log_truncate_on_rotation = on EOF cat > /var/lib/pgsql/data/pg_hba.conf << EOF #TYPE DATABASE USER ADDRESS METHOD local all all trust host all all ::1/128 trust host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 md5 host replication all 0.0.0.0/0 md5 EOF pg_ctl restart psql -U postgres -h 172.71.0.30 -d postgres -p5432 [root@lhrdb ~]# psql -U postgres -h 172.71.0.35 -d postgres -p5432 Password for user postgres: psql (14.7, server 13.3) Type "help" for help. postgres=# create database lhrdb; CREATE DATABASE postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- lhrdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) postgres=# |
其它
若想安装其它版本,则需要下载对应的源码进行编译安装,参考:
https://zhuanlan.zhihu.com/p/575400148
https://zhuanlan.zhihu.com/p/467021344
https://www.cnblogs.com/boyliupan/p/15324331.html
https://www.xmmup.com/dbbao68shiyongyuanmabianyilaianzhuangpostgresql13-3shujuku.html
参考
https://www.xmmup.com/dbbao67shiyongyumlaianzhuangpostgresql13-3shujuku.html