centos换源+安装postgresql
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
centos换源+安装postgresql
http://mirror.nsc.liu.se/centos-store/8.2.2004/isos/x86_64/
镜像安装网站
https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.0.tar.xz
git
版本网站
1 更换阿里源
[ivanlee@localhost Desktop]$ cd /etc/yum.repos.d
[ivanlee@localhost yum.repos.d]$ ls
CentOS-AppStream.repo CentOS-Devel.repo CentOS-PowerTools.repo
CentOS-Base.repo CentOS-Extras.repo CentOS-Sources.repo
CentOS-centosplus.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-HA.repo
CentOS-Debuginfo.repo CentOS-Media.repo
首先全部删除源的所有文件,遇到所有的询问都是y
[root@localhost yum.repos.d]# rm *.repo
rm: remove regular file 'CentOS-AppStream.repo'? y
·························
安装新的阿里源
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
--2022-03-22 13:53:56-- https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 139.227.225.136, 2408:8744:803:2:3::3fe, 2408:8744:803:2:3::3fd
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|139.227.225.136|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2495 (2.4K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
/etc/yum.repos.d/CentOS-Base.repo 100%[==========================================================================================================>] 2.44K --.-KB/s in 0s
2022-03-22 13:54:01 (60.0 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2495/2495]
[root@localhost yum.repos.d]# yum makecache
CentOS-8.5.2111 - Base - mirrors.aliyun.com 437 kB/s | 4.6 MB 00:10
CentOS-8.5.2111 - Extras - mirrors.aliyun.com 1.0 kB/s | 10 kB 00:10
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 739 kB/s | 8.4 MB 00:11
Metadata cache created.
如果遇到无法解析网址的情况:
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
--2022-05-07 15:42:13-- https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... failed: Name or service not known.
wget: unable to resolve host address 'mirrors.aliyun.com'
那就对本地/etc/resolv.conf
文件进行修改,添加如下字段
nameserver 8.8.8.8
nameserver 8.8.4.4
再继续就好了
手动安装pgsql
[root@localhost yum.repos.d]# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Last metadata expiration check: 0:00:35 ago on Tue 22 Mar 2022 01:54:51 PM CST.
pgdg-redhat-repo-latest.noarch.rpm 2.0 kB/s | 13 kB 00:06
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Installing:
pgdg-redhat-repo noarch 42.0-24 @commandline 13 k
Transaction Summary
=====================================================================================================================================================================================================
Install 1 Package
Total size: 13 k
Installed size: 12 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : pgdg-redhat-repo-42.0-24.noarch 1/1
Verifying : pgdg-redhat-repo-42.0-24.noarch 1/1
Installed products updated.
Installed: pgdg-redhat-repo-42.0-24.noarch Complete!
[root@localhost yum.repos.d]# dnf module list postgresql
PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64 15 B/s | 195 B 00:12
PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64 30 kB/s | 619 kB 00:20
PostgreSQL 14 for RHEL / Rocky 8 - x86_64 15 B/s | 195 B 00:12
PostgreSQL 14 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL 14 for RHEL / Rocky 8 - x86_64 11 kB/s | 208 kB 00:19
PostgreSQL 13 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 13 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL 13 for RHEL / Rocky 8 - x86_64 26 kB/s | 526 kB 00:19
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 15 B/s | 195 B 00:12
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 36 kB/s | 694 kB 00:19
PostgreSQL 11 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 11 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL 11 for RHEL / Rocky 8 - x86_64 41 kB/s | 885 kB 00:21
PostgreSQL 10 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 10 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
PostgreSQL 10 for RHEL / Rocky 8 - x86_64 29 kB/s | 588 kB 00:20
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server [d] PostgreSQL server and client module
postgresql 13 client, server [d] PostgreSQL server and client module
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@localhost ~]# dnf module disable postgresql
PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 14 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 13 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Disabling modules:
postgresql
Transaction Summary
=====================================================================================================================================================================================================
Is this ok [y/N]: y
Complete!
安装pgsql12
[root@localhost ~]# dnf install postgresql12
Last metadata expiration check: 0:08:39 ago on Tue 22 Mar 2022 02:00:31 PM CST.
All matches were filtered out by modular filtering for argument: postgresql12
Error: Unable to find a match: postgresql12
[root@localhost ~]# dnf config-manager --disable pgdg11
[root@localhost ~]# dnf config-manager --disable pgdg10
[root@localhost ~]# dnf config-manager --disable pgdg96
Error: No matching repo to modify: pgdg96.
[root@localhost ~]# dnf module disable postgresql
PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 14 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 13 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 16 B/s | 195 B 00:12
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Disabling modules:
postgresql
Transaction Summary
=====================================================================================================================================================================================================
Is this ok [y/N]: y
Complete!
[root@localhost ~]# dnf install postgresql12
Last metadata expiration check: 0:01:29 ago on Tue 22 Mar 2022 02:10:45 PM CST.
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Installing:
postgresql12 x86_64 12.10-1PGDG.rhel8 pgdg12 1.7 M
Installing dependencies:
postgresql12-libs x86_64 12.10-1PGDG.rhel8 pgdg12 400 k
Transaction Summary
=====================================================================================================================================================================================================
Install 2 Packages
Total download size: 2.1 M
Installed size: 10 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): postgresql12-libs-12.10-1PGDG.rhel8.x86_64.rpm 50 kB/s | 400 kB 00:08
(2/2): postgresql12-12.10-1PGDG.rhel8.x86_64.rpm 172 kB/s | 1.7 MB 00:09
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 213 kB/s | 2.1 MB 00:09
warning: /var/cache/dnf/pgdg12-64e2194e85277659/packages/postgresql12-12.10-1PGDG.rhel8.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
PostgreSQL 12 for RHEL / Rocky 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
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 : postgresql12-libs-12.10-1PGDG.rhel8.x86_64 1/2
Running scriptlet: postgresql12-libs-12.10-1PGDG.rhel8.x86_64 1/2
Installing : postgresql12-12.10-1PGDG.rhel8.x86_64 2/2
Running scriptlet: postgresql12-12.10-1PGDG.rhel8.x86_64 2/2
Verifying : postgresql12-12.10-1PGDG.rhel8.x86_64 1/2
Verifying : postgresql12-libs-12.10-1PGDG.rhel8.x86_64 2/2
Installed products updated.
Installed:
postgresql12-12.10-1PGDG.rhel8.x86_64 postgresql12-libs-12.10-1PGDG.rhel8.x86_64
Complete!
安装服务端
[root@localhost ~]# dnf install postgresql12-server
Last metadata expiration check: 0:05:33 ago on Tue 22 Mar 2022 02:10:45 PM CST.
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Installing:
postgresql12-server x86_64 12.10-1PGDG.rhel8 pgdg12 5.2 M
Transaction Summary
=====================================================================================================================================================================================================
Install 1 Package
Total download size: 5.2 M
Installed size: 21 M
Is this ok [y/N]: y
Downloading Packages:
postgresql12-server-12.10-1PGDG.rhel8.x86_64.rpm 390 kB/s | 5.2 MB 00:13
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 390 kB/s | 5.2 MB 00:13
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: postgresql12-server-12.10-1PGDG.rhel8.x86_64 1/1
Installing : postgresql12-server-12.10-1PGDG.rhel8.x86_64 1/1
Running scriptlet: postgresql12-server-12.10-1PGDG.rhel8.x86_64 1/1
Verifying : postgresql12-server-12.10-1PGDG.rhel8.x86_64 1/1
Installed products updated.
Installed:
postgresql12-server-12.10-1PGDG.rhel8.x86_64
Complete!
[root@localhost ~]# dnf install postgresql12-contrib
Last metadata expiration check: 0:09:45 ago on Tue 22 Mar 2022 02:10:45 PM CST.
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Installing:
postgresql12-contrib x86_64 12.10-1PGDG.rhel8 pgdg12 645 k
Transaction Summary
=====================================================================================================================================================================================================
Install 1 Package
Total download size: 645 k
Installed size: 2.3 M
Is this ok [y/N]: y
Downloading Packages:
postgresql12-contrib-12.10-1PGDG.rhel8.x86_64.rpm 84 kB/s | 645 kB 00:07
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 84 kB/s | 645 kB 00:07
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : postgresql12-contrib-12.10-1PGDG.rhel8.x86_64 1/1
Running scriptlet: postgresql12-contrib-12.10-1PGDG.rhel8.x86_64 1/1
Verifying : postgresql12-contrib-12.10-1PGDG.rhel8.x86_64 1/1
Installed products updated.
Installed:
postgresql12-contrib-12.10-1PGDG.rhel8.x86_64
Complete!
注意:程序安装目录是"/usr/pgsql-12",程序运行目录是"/var/run/postgresql",程序运行用户和组是"postgres:postgres","postgres"用户和组安装时默认创建。
pgsql的配置
1 设置数据库默认的数据存储目录
数据库实例的默认存储目录是/var/lib/pgsql/12/data/,/var是一个系统目录,不适合存放大量的业务数据,因此要在初始化数据库实例之前创建一个存储目录
mkdir -p /data/pgsql12-data
:因为创建了多级目录,所以需要-p
[root@localhost /]# mkdir -p /data/pgsql12-data
[root@localhost /]# ls
bin boot data dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]# cd data
[root@localhost data]# ll
total 4
drwxr-xr-x. 2 root root 4096 Mar 22 14:27 pgsql12-data
设置数据存储目录的所有者用户和组为postgres:postgres,postgres用户和组在安装PostgreSQL12时已创建
[root@localhost data]# chown postgres:postgres /data/pgsql12-data
修改postgreSQL12开机启动服务配置文件,设置为新的数据存储目录
[root@localhost data]# vim /usr/lib/systemd/system/postgresql-12.service
<服务配置文件路径!>
将其中的enviroment变量注释掉,改为新的(vim如果卡死,按键ctrl+q)
2 初始化数据库实例
进入程序安装目录下的bin目录下,执行postgresql-12-setup initdb命令。
[root@localhost data]# cd /usr/pgsql-12/bin
[root@localhost bin]# ./postgresql-12-setup initdb
Initializing database ... OK
3 启动数据库实例服务,并设置为开机自动启动
[root@localhost bin]# systemctl enable postgresql-12.service
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-12.service → /usr/lib/systemd/system/postgresql-12.service.
[root@localhost bin]# systemctl start postgresql-12.service
4 设置数据库实例超级管理员账户postgres的口令
postgreSQL12安装完成后postgres的默认口令为空,为空时无法使用该用户登录数据库。
[root@localhost bin]# passwd postgres
Changing password for user postgres.
New password: prs@2018
Retype new password: prs@2018
passwd: all authentication tokens updated successfully.
[root@localhost bin]# su postgres
bash-4.4$ psql
psql (12.10)
Type "help" for help.
postgres=# alter user postgres with password 'xxxxx';
ALTER ROLE
postgres=# \q
bash-4.4$ exit
exit
[root@localhost bin]#
5 设置数据库实例的远程访问策略
postgreSQL12安装完成后默认只允许本地访问
设置数据库实例访问策略,可以设置多个由主机类型、数据库、用户、IP地址组成的策略。
在文件的"# IPv4 local connections"策略中追加一条“允许全部用户,通过全部网络地址访问全部数据库”的策略并保存,策略定义如 下:
vim /data/pgsql12-data/pg_hba.conf "配置文件conf"
image-20220507152653413
设置数据库实例的监听端口
监听地址:*默认是全部地址,默认是localhost ||监听端口:默认是5432
vim /data/pgsql12-data/postgresql.conf
设置防火墙端口
centOS8默认安装firewall防火墙,允许5432端口(PostgreSQL默认端口)访问服务器。
[root@localhost bin]# firewall-cmd --zone=public --add-port=5432/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
success
重新启动数据库服务实例
systemctl restart postgresql-12.service
数据库的运维和管理
数据库启动、停止、重启、查看状态、开机自启动、禁用开机自启动
[root@localhost bin]# systemctl start postgresql-12.service #开启
[root@localhost bin]# systemctl stop postgresql-12.service #停止
[root@localhost bin]# systemctl restart postgresql-12.service #重启
[root@localhost bin]# systemctl status postgresql-12.service #查看状态
● postgresql-12.service - PostgreSQL 12 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-03-22 15:02:49 CST; 7s ago
Docs: https://www.postgresql.org/docs/12/static/
Process: 41843 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 41849 (postmaster)
Tasks: 8 (limit: 11432)
Memory: 17.8M
CGroup: /system.slice/postgresql-12.service
├─41849 /usr/pgsql-12/bin/postmaster -D /data/pgsql12-data/
├─41853 postgres: logger
├─41855 postgres: checkpointer
├─41856 postgres: background writer
├─41857 postgres: walwriter
├─41858 postgres: autovacuum launcher
├─41859 postgres: stats collector
└─41860 postgres: logical replication launcher
Mar 22 15:02:49 localhost.localdomain systemd[1]: Starting PostgreSQL 12 database server...
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.320 CST [41849] LOG: starting PostgreSQL 12.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8>
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.321 CST [41849] LOG: listening on IPv4 address "0.0.0.0", port 5432
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.321 CST [41849] LOG: listening on IPv6 address "::", port 5432
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.324 CST [41849] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.328 CST [41849] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.338 CST [41849] LOG: redirecting log output to logging collector process
Mar 22 15:02:49 localhost.localdomain postmaster[41849]: 2022-03-22 15:02:49.338 CST [41849] HINT: Future log output will appear in directory "log".
Mar 22 15:02:49 localhost.localdomain systemd[1]: Started PostgreSQL 12 database server.
[root@localhost bin]# systemctl enable postgresql-12.service #开机自动开启
创建用户
[root@localhost pgsql12-data]# su postgres
bash-4.4$ psql
psql (12.10)
Type "help" for help.
postgres=# CREATE DATABASE pvp_msf;
CREATE DATABASE
postgres=# CREATE DATABASE pvp_strike_db;
CREATE DATABASE
离线安装需要的包
rpms包:
postgresql12-contrib-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-devel-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-docs-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-libs-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-llvmjit-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-plperl-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-plpython-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-plpython3-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-pltcl-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-server-12.10-1PGDG.rhel8.x86_64.rpm
postgresql12-test-12.10-1PGDG.rhel8.x86_64.rpm
静态资源包:postgresql-12.10 -tar.gz