---
title: 介绍
description: "本文主要介绍如何在使用CentOS或openEuler操作系统的鲲鹏服务器上编译和安装PostgreSQL，并提供了编译安装PostgreSQL过程中遇到故障的解决方法。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/PostgreSQL/kunpengpostgresql_02_0001.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/PostgreSQL/kunpengpostgresql_02_0001.html
indexId: 1da4274280915937b2881ed77e41be7002a49880e05a538298c8114ef615f04b79
---
# 介绍

本文主要介绍如何在使用CentOS或openEuler操作系统的鲲鹏服务器上编译和安装PostgreSQL，并提供了编译安装PostgreSQL过程中遇到故障的解决方法。

#### 简要介绍

PostgreSQL的架构如图1所示，主要进程说明如表1所示。

图1 PostgreSQL架构


**表1 PostgreSQL中的主要进程说明**

| 进程类别 | 进程名称 | 说明 |
| --- | --- | --- |
| 主进程 | Postmaster | Postmaster是整个数据库实例的总控进程，负责启动和关闭该数据库实例。其默认监测UNIXDomain Socket和TCP/IP（Windows等，一部分的平台只监测TCP/IP）的5432端口，等待来自前端的连接处理。监测的端口号可以在PostgreSQL的设置文件postgresql.conf中修改。 |
| 会话服务进程 | Postgres | 子进程根据pg\_hba.conf定义的安全策略来判断是否允许进行连接，根据策略，会拒绝某些特定的IP及网络，或者也可以只允许某些特定的用户或者对某些数据库进行连接。 Postgres会接受前端过来的查询，然后对数据库进行检索，最后把结果返回，有时也会对数据库进行更新。更新的数据同时还会记录在事务日志里面（PostgreSQL称为WAL日志）。这个主要是当停电、服务器宕机、重新启动的时候进行恢复处理的时候使用。另外，把日志归档保存起来，可在需要进行恢复的时候使用。在PostgreSQL 9.0以后，通过把WAL日志传送其他的PostgreSQL，可以实时的进行数据库复制，这就是所谓的“数据库复制”功能。 |
| 辅助进程 | SysLogger（系统日志） | 需要在postgresql.conf中logging\_collector设置为on，此时主进程才会启动Syslogger辅助进程。 |
| 辅助进程 | BgWriter（后台写） | 把共享内存中的脏页写到磁盘上的进程。主要是为了提高插入、更新和删除数据的性能。 |
| 辅助进程 | WalWriter（预写式日志） | 在修改数据之前把修改操作记录到磁盘中，以便后面更新实时数据时就不需要数据持久化到文件中。 |
| 辅助进程 | PgArch（归档） | WAL日志会被循环使用，PgArch在归档前会把WAL日志备份出来。通过PITR（Point in Time Recovery）技术，可以对数据库进行一次全量备份后，该技术将备份时间点之后的WAL日志通过归档进行备份，使用数据库的全量备份再加上后面产生的WAL日志，即可把数据库向前推到全量备份后的任意一个时间点。 |
| 辅助进程 | AutoVacuum（系统自动清理） | 在PostgreSQL数据库中，对表进行DELETE操作后，旧的数据并不会立即被删除，并且在更新数据时，也并不会在旧的数据上做更新，而是新生成一行数据。旧的数据只是被标识为删除状态，只有在没有并发的其他事务读到这些旧数据时，它们才会被清除。这个清除工作就由AutoVacuum进程完成。 |
| 辅助进程 | PgStat（统计收集） | 做数据的统计收集工作。主要用于查询优化时的代价估算，包括一个表和索引进行了多少次的插入、更新、删除操作，磁盘块读写的次数、行的读次数。pg\_statistic中存储了PgStat收集的各类信息。 |
| 辅助进程 | CheckPoint（检查点） | 检查点是系统设置的事务序列点，设置检查点保证检查点前的日志信息刷到磁盘中。 |


开发语言：C/C++

一句话描述：对象关系型数据库管理系统

关于PostgreSQL的更多信息请访问PostgreSQL官网(https://www.postgresql.org/)。


#### 建议的版本

PostgreSQL 11.3。
