- A+
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"
-
设置数据库实例的监听端口
监听地址:
*
默认是全部地址,默认是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