【赵渝强老师】PostgreSQL的服务器日志文件

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。

b176.png

PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的服务器日志文件。视频讲解如下:


通过使用pg_ctl命令启动PostgreSQL数据库实例时,通过指定-l参数来指定PostgreSQL的服务器日志文件。如果不知道该日志文件,错误可能会输出到cmd前台。下图展示了在启动数据库服务器时,使用“-l”参数生成的服务器日志文件,它记录了数据库实例在启动和关闭过程中的重要信息。服务器日志文件的内容如下:


2024-12-02 16:51:10.955 CST [87485] LOG:  starting PostgreSQL 15.3 on x86_64-pc-linux-gnu, 
                      compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 
                      64-bit
2024-12-02 16:51:10.956 CST [87485] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-12-02 16:51:10.956 CST [87485] LOG:  listening on IPv6 address "::", port 5432
2024-12-02 16:51:10.958 CST [87485] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2024-12-02 16:51:10.965 CST [87488] LOG:  database system was shut down at 2024-11-28 09:35:18 CST
2024-12-02 16:51:10.982 CST [87485] LOG:  database system is ready to accept connections
2024-12-02 16:51:15.919 CST [87485] LOG:  received fast shutdown request
2024-12-02 16:51:15.920 CST [87485] LOG:  aborting any active transactions
2024-12-02 16:51:15.921 CST [87485] LOG:  background worker "logical replication launcher" (PID 87491) 
                      exited with exit code 1
2024-12-02 16:51:15.922 CST [87486] LOG:  shutting down
2024-12-02 16:51:15.922 CST [87486] LOG:  checkpoint starting: shutdown immediate
2024-12-02 16:51:15.927 CST [87486] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 
                    0 WAL file(s) added, 0 removed, 0 recycled; write=0.002 s, 
                    sync=0.001 s, total=0.006 s; sync files=2, longest=0.001 s, 
                    average=0.001 s; distance=0 kB, estimate=0 kB
2024-12-02 16:51:15.932 CST [87485] LOG:  database system is shut down


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
10天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的段、区和块
PostgreSQL的逻辑存储结构包括数据库集群、数据库、表空间、段、区、块等,以及表、索引、视图等数据库对象。每个对象有唯一的oid标识符,存储于系统目录表中。段、区、块是数据存储的基本单元,其中块是I/O操作的最小单位,默认大小为8KB。通过合理配置这些结构,可以优化数据库性能。
89 60
【赵渝强老师】PostgreSQL的段、区和块
|
7月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复
PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复
215 1
|
13天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的数据库
PostgreSQL的逻辑存储结构涵盖数据库集群、数据库、表、索引、视图等对象,每个对象有唯一的oid标识。数据库集群包含多个数据库,每个数据库又包含多个模式,模式内含表、函数等。通过特定SQL命令可查看和管理这些数据库对象。
|
11天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】PostgreSQL中的模式
在PostgreSQL中,所有数据库对象均隶属于模式,包括表、索引、视图等,每个对象有唯一的oid标识。创建数据库时,默认生成名为“public”的Schema。用户可自定义模式,如通过SQL语句创建名为demo的模式及其下的表。与Oracle不同,PostgreSQL中用户和模式不是一一对应关系。
40 12
【赵渝强老师】PostgreSQL中的模式
|
2天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的控制文件
本文介绍了PostgreSQL数据库的物理存储结构,重点解析了控制文件,包括其重要性及如何通过`pg_controldata`命令查看控制文件内容。控制文件记录了数据库运行的关键信息,如数据库状态、WAL位置等。
41 14
|
7天前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
|
8天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的数据文件
PostgreSQL的物理存储结构主要包括数据文件、日志文件等。数据文件按oid命名,超过1G时自动拆分。通过查询数据库和表的oid,可定位到具体的数据文件。例如,查询数据库oid后,再查询特定表的oid及relfilenode,即可找到该表对应的数据文件位置。
|
12天前
|
关系型数据库 数据库 文件存储
【赵渝强老师】PostgreSQL的表空间
本文介绍了PostgreSQL中的表空间概念及其操作方法,包括查看现有表空间、创建新表空间、在特定表空间上创建表、设置默认表空间以及查询表空间信息等步骤,并提供了相应的命令示例。
|
20天前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
|
15天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的数据库集群
PostgreSQL的逻辑存储结构涵盖了数据库集群、数据库、表、索引、视图等对象,每个对象都有唯一的oid标识。数据库集群是由单个PostgreSQL实例管理的所有数据库集合,共享同一配置和资源。集群的数据存储在一个称为数据目录的单一目录中,可通过-D选项或PGDATA环境变量指定。