RDS for PostgreSQL 进程 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

RDS for PostgreSQL 进程

RDS for PostgreSQL 使用多个进程。

邮件管理员过程

邮件管理员进程是启动 RDS for PostgreSQL 时开始的第一个进程。邮件管理员过程负有以下主要责任:

  • 分流并监控后台进程

  • 接收来自客户端进程的身份验证请求,并在允许数据库为请求提供服务之前对这些请求进行身份验证

后端进程

如果邮件管理员对客户请求进行身份验证,邮件管理员会分流一个新的后端进程,也称为 postgres 进程。一个客户端进程只连接到一个后端进程。客户端进程和后端进程直接通信,而无需邮件管理员过程的干预。

后台进程

邮件管理员过程会分流执行不同后端任务的几个进程。其中一些更重要的事项包括:

  • WAL 写入器

    RDS for PostgreSQL 会将 WAL(预写日志记录)缓冲区中的数据写入日志文件。预写日志记录的原则是,在数据库将描述这些更改的日志记录写入磁盘之后,数据库才能将更改写入数据文件。WAL 机制减少了磁盘 I/O,并允许 RDS for PostgreSQL 在出现故障后使用日志恢复数据库。

  • 后台写入器

    此进程会定期将内存缓冲区中的脏(已修改)分页写入数据文件。当后端进程在内存中修改分页时,分页会变脏。

  • Autovacuum 守护进程

    守护进程由以下各项组成:

    • Autovacuum 启动程序

    • Autovacuum 工件进程

    当 Autovacuum 开启时,它会检查包含大量插入的、更新的或删除的元组的表。守护进程要承担以下责任:

    • 恢复或重复使用更新或删除的行占用的磁盘空间

    • 更新计划人员使用的统计数据

    • 防止因事务 ID 重叠而导致旧数据丢失

    Autovacuum 功能自动执行 VACUUMANALYZE 命令。VACUUM 具有以下变体:标准和完整版。标准 vacuum 与其他数据库操作并行运行。VACUUM FULL 需要对您工作所在的表具有专有锁定。因此,它不能与访问同一表的操作并行运行。VACUUM 创建了大量的输入/输出流量,这可能会导致其他活动会话的性能不佳。