PostgreSQL中的一些日志
1.Write Ahead Log(WAL日志)
预写日志(WAL)是保证数据完整性的标准方法。在有关交易处理的大多数(如果不是全部)书籍中都可以找到详细说明。 简而言之,WAL的核心概念是,只有在记录了对这些更改之后,即在描述更改的日志记录已刷新到永久存储之后,才写入对数据文件(表和索引所在的位置)的更改。如果我们遵循此过程,我们不需要在每次事务提交时将数据页刷新到磁盘,因为我们知道如果发生崩溃,我们将能够使用日志恢复数据库:任何尚未应用的更改,可以从日志记录中重做数据页面。(这是前滚恢复,也称为REDO)
WAL还可以支持在线备份和基于时间点恢复。 通过归档WAL数据,我们可以支持恢复到可用WAL数据覆盖的任何时刻:我们只需安装数据库的先前物理备份,并将WAL日志重播到所需的时间。 更重要的是,物理备份不必是数据库状态的瞬时快照 - 如果它是在一段时间内完成的,那么重播该期间的WAL日志将解决任何内部不一致问题。
位于目录pg_wal中。单个文件大小由wal-segsize控制。默认是16mb。
WAL日志,相当于Oracle的在线重做日志。
主要的相关参数:
wal_level
max_wal_size
min_wal_size
2.WAL的归档日志
主要的相关参数:
archive_mode
archive_command
3.事务状态日志
pg_xact
pg_xact这个目录下的文件也是事务日志文件,但与pg_wal不同的是它记录的是事务的元数据(metadata),这些日志提供了事务提交状态信息。这个日志文件一般非常小,不得随意删除或者对其更改信息。
4.pg_log
server log一般是记录服务器与DB的状态,比如各种Error信息,定位慢查询SQL,数据库的启动关闭信息,发生checkpoint过于频繁等的告警信息。当数据库出问题时,首先就要查看这个日志
主要的相关参数:
log_destination
logging_collector
log_directory
log_filename
log_rotation_age
log_rotation_size
PostgreSQL中的一些日志的更多相关文章
- postgresql如何维护WAL日志/归档日志
WAL日志介绍 wal全称是write ahead log,是postgresql中的online redo log,是为了保证数据库中数据的一致性和事务的完整性.而在PostgreSQL 7中引入的 ...
- PostgreSQL中的索引(一)
引言 这一系列文章主要关注PostgreSQL中的索引. 可以从不同的角度考虑任何主题.我们将讨论那些使用DMBS的应用开发人员感兴趣的事项:有哪些可用的索引:为什么会有这么多不同的索引:以及如何使用 ...
- 在PostgreSQL中 pg_start_backup 做了什么?
# 在PostgreSQL中 pg_start_backup 做了什么?HM 2019-07-30 ## pg_start_backup 做一个备份开始标记,还做了一些其他的操作,下面进行探寻. * ...
- Xcode8中处理打印日志的配置
Xcode8中处理打印日志的配置
- 通过arcgis在PostgreSQL中创建企业级地理数据库
部署环境: Win7 64位旗舰版 软件版本: PostgreSQL-9.1.3-2-windows-x64 Postgis-pg91x64-setup-2.0.6-1 Arcgis 10.1 SP1 ...
- 使用SeasLog打造PHP项目中的高性能日志组件(一)
云智慧(北京)科技有限公司 高驰涛 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为 ...
- SQL Server中的事务日志管理(9/9):监控事务日志
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- PostgreSQL 中日期类型转换与变量使用及相关问题
PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...
- PostgreSQL 中定义自己需要的数据类型
PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下: CREATE DOMAIN tinyint AS smallint CONSTRAINT tinyint ...
随机推荐
- Mac FFmpeg编译和解决nasm/yasm not found or too old错误
FFmpeg编译下载代码:git clone https://git.ffmpeg.org/ffmpeg.git然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然 ...
- python私有工具库小结
1.一些试用py工具清单 https://www.zhihu.com/question/60402355/answer/752917744?utm_source=wechat_session& ...
- github hooks 配置教程 钩子搭建(实测通过,手把手教程)
tips:如果本文对你有用,请爱心点个赞,提高排名,让这篇文章帮助更多的人.谢谢大家!❤ 本人hooks搭建成功,全程参考JellyBool老师的视频教程,有不懂的可以先去看下这个视频,跟着操作.本文 ...
- cookie登录及其保存
requests中request携带cookie请求1 将一个Session实例的cookies属性设置赋值成 一个 CookieJar 实例 import http.cookiejar s = re ...
- java验证邮件正则
这里,本人从commons-validator包中源码,拷出部分内容,如下: private static final String EMAIL_REGEX = "^\\s*?(.+)@(. ...
- selenium常用的API(六)浏览器窗口切换
当使用selenium webdriver进行自动化测试打开多个窗口的时候,可能需要在不同的窗口间进行切换,webdriver提供的获取浏览器窗口句柄.切换句柄的方法如下: 获取当前窗口句柄 driv ...
- myBatis框架之入门(四)
Mybatis多表管理查询 多表关联关系分析: 多表关联:至少两个表关联.分析多表关系的经验技巧:从一条记录出发,不要从表整体去分析,比如分析A表和B表关系,A表中的一条记录对应B表中的几条记录,如果 ...
- 深度学习Keras框架笔记之AutoEncoder类
深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction= ...
- Wiki with Herbal Medicine
Problem H. Wiki with Herbal MedicineInput file: standard input Time limit: 1 secondOutput file: stan ...
- [Flutter + Firebase] Enable Firebase for Flutter
Anroid Firebase Project setup: 1. In firebase console, cerate a Android app setup you can find in co ...