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中的一些日志的更多相关文章

  1. postgresql如何维护WAL日志/归档日志

    WAL日志介绍 wal全称是write ahead log,是postgresql中的online redo log,是为了保证数据库中数据的一致性和事务的完整性.而在PostgreSQL 7中引入的 ...

  2. PostgreSQL中的索引(一)

    引言 这一系列文章主要关注PostgreSQL中的索引. 可以从不同的角度考虑任何主题.我们将讨论那些使用DMBS的应用开发人员感兴趣的事项:有哪些可用的索引:为什么会有这么多不同的索引:以及如何使用 ...

  3. 在PostgreSQL中 pg_start_backup 做了什么?

    # 在PostgreSQL中 pg_start_backup 做了什么?HM 2019-07-30 ## pg_start_backup 做一个备份开始标记,还做了一些其他的操作,下面进行探寻. * ...

  4. Xcode8中处理打印日志的配置

    Xcode8中处理打印日志的配置

  5. 通过arcgis在PostgreSQL中创建企业级地理数据库

    部署环境: Win7 64位旗舰版 软件版本: PostgreSQL-9.1.3-2-windows-x64 Postgis-pg91x64-setup-2.0.6-1 Arcgis 10.1 SP1 ...

  6. 使用SeasLog打造PHP项目中的高性能日志组件(一)

    云智慧(北京)科技有限公司 高驰涛 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为 ...

  7. SQL Server中的事务日志管理(9/9):监控事务日志

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  8. PostgreSQL 中日期类型转换与变量使用及相关问题

    PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...

  9. PostgreSQL 中定义自己需要的数据类型

    PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下: CREATE DOMAIN tinyint AS smallint CONSTRAINT tinyint ...

随机推荐

  1. 得到List<HashTable>里面的list然后取list的某一项

    //得到List<HashTable>里面的listUnFix然后取listUnFix判断tempfix里面得值 List<Hashtable> list = new List ...

  2. 你真的会使用 VMware Workstation 吗

    你真的会使用VMware Workstation吗?网上有很多教程,虽然都还可以,但总感觉差强人意.所以笔者在这里分享自己的使用心得,让大家参考一下,个人认为是最好的了. 简介 VMware Work ...

  3. docker里运行cron的要点笔记

    1.如果用精简的apline或debian:stretch-slim创建的docker,里面可能没有cron模块,需要独立安装 apt-get install -y cron 2.docker里面cr ...

  4. Python标准库-数字的处理函数(math模块)

    Python标准库-数字的处理函数(math模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. #!/usr/bin/env python #_*_conding:utf-8_* ...

  5. 【MySQL】FIND_IN_SET、LIKE、IN的区别

    现在有张新闻表,里面有新闻名称name字段,有新闻类型type字段,1代表头条,2代表推荐,11代表热点,22代表最新,现在表中有两条记录,存储形式如下,现在的需求是查找头条新闻,及type中包含1的 ...

  6. web页面死链测试方法

    一.概述 > 来自百度百科释义 死链:指服务器的地址已经改变了.无法找到当前地址位置,包括协议死链和内容死链两种形式.死链出现的原因有网站服务器设置错误:某文件夹名称修改,路径错误链接变成死链等 ...

  7. class Pagination(object)分页源码

    class Pagination(object): def init(self, current_page, all_count, per_page_num=10, pager_count=11): ...

  8. Python应用-完成简单邮件发送功能

    项目中有时候需要用脚本来自动发送邮件,而用Python来发送邮件十分的方便,代码如下: #!/usr/bin/python #coding:utf-8 import smtplib from emai ...

  9. java代码实现文件的下载功能

    昨天,根据需求文档的要求,自己要做一个关于文件下载的功能,从学校毕业已经很久了,自己好长时间都没有做过这个了,于是自己上网百度,最终开发出来的代码如下: 哦!对了,我先说一下我的思路,首先需要获取服务 ...

  10. 完成下方的 which_date() 函数,并返回某一起始时间后特定一段时间的日期

    from datetime import datetime,timedelta import re def which_date(start_date,time): """ ...