如何部署Oracle Linux 9.x PostgreSQL?

PostgreSQL

1 基础知识

1.1 PostgreSQL简介

PostgreSQL是一个功能强大的开源对象关系数据库系统,经过30多年的积极开发,具有良好的可靠性、强大的功能和优良的性能。
PostgreSQL是Berkeley开源代码的后代,它支持大部分SQL标准。

1.2 PostgreSQL的特点

– 高度靠性
– 考度可扩展性(支持自定义数据类型、函数和不同的编程语言代码而无需编译)

1.3 PostgreSQL的架构

2 最佳实践

2.1 系统的配置

2.1.1 基本配置

IP Address = 10.168.0.103
OS = Oracle Linux 9.x x86_64
HostName = postgresql.cmdschool.org

2.1.2 升级系统

dnf -y update

执行完升级之后,重启操作系统,

reboot

2.2 安装PostgreSQL包

2.2.1 安装PostgreSQL服务端

dnf install -y postgresql-server

2.2.2 检查安装的软件包

rpm -qa *postgresql*

显示如下:

postgresql-private-libs-13.22-1.el9_6.x86_64
postgresql-13.22-1.el9_6.x86_64
postgresql-server-13.22-1.el9_6.x86_64

2.3 配置PostgreSQL

2.3.1 初始化数据库

postgresql-setup initdb

如果没有意外,则显示以下信息,

Initializing database ... OK

2.3.2 启动服并配置服务自启动

systemctl start postgresql.service
systemctl enable postgresql.service

2.3.3 检查服务的启动

ss -antp | grep postmaster

其他的服务控制命令,请参考如下指令,

LISTEN 0      244        127.0.0.1:5432       0.0.0.0:*     users:(("postmaster",pid=4082,fd=7))                 
LISTEN 0      244            [::1]:5432          [::]:*     users:(("postmaster",pid=4082,fd=6)) 

基于以上端口需求,可能需要使用如下命令开放服务端口的访问,

firewall-cmd --permanent --add-service postgresql
firewall-cmd --reload
firewall-cmd --list-all

亦可以进程的方式查看,

pgrep -a postmaster

其他的服务控制命令,请参考如下指令,

4082 /usr/bin/postmaster -D /var/lib/pgsql/data
4083 postgres: logger                          
4085 postgres: checkpointer                    
4086 postgres: background writer               
4087 postgres: walwriter                       
4088 postgres: autovacuum launcher             
4089 postgres: stats collector                 
4090 postgres: logical replication launcher

注:以上可知数据目录为“/var/lib/pgsql/9.6/data/”

2.3.4 检查服务的版本

psql -V

可见如下显示,

psql (PostgreSQL) 13.22

2.4 测试PostgreSQL

2.4.1 切换到PostgreSQL用户

su - postgres

2.4.2 登录到PostgreSQL

psql

显示如下,

psql (13.22)
Type "help" for help.

postgres=# 

注:以上证明你处于PostgreSQL提示符环境

2.4.3 显示当前的数据库

\l

数据库显示如下,

                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 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
(3 rows)

2.4.4 获取帮助

\h

2.4.5 退出PostgreSQL登录

\q

2.5 迁移PostgreSQL数据目录

如何迁移PostgreSQL的数据目录?

2.6 允许PostgreSQL通过TCP/IP登陆

如何允许PostgreSQL TCP/IP登录?

参阅文档
==============

简介页面
———-
https://www.postgresql.org/about/

下载页面
———
https://yum.postgresql.org/repopackages.php
https://www.postgresql.org/download/

安装页面
——–
https://www.postgresql.org/download/linux/redhat/

使用文档
——–
https://www.postgresql.org/docs/9.6/index.html
https://www.postgresql.org/docs/

没有评论

发表回复

PostgreSQL
如何允许PostgreSQL TCP/IP登录?

1 前言 一个问题,一篇文章,一出故事。 笔者今天完成最新版本的PostgreSQL服务端的安装配置 …

PostgreSQL
如何迁移PostgreSQL的数据目录?

1 前言 一个问题,一篇文章,一出故事。 笔者今天完成最新版本的PostgreSQL服务端的安装配置 …

PostgreSQL
如何设置PostgreSQL数据库备份?

1 前言 一个问题,一篇文章,一出故事。 今天笔者需要备份PostgreSQL数据,于是整理当前章节 …