MySQL日志如何与Postgresql日志进行比较?

MySQL有相当多的日志:

  • InnoDB事务日志
  • 二进制日志
  • 一般查询日志
  • 错误日志
  • 慢查询日志

我知道Postgresql的WAL,这相当于InnoDB的事务日志(正确?)。

那么其他MySQL日志如bin日志呢 – Postgresql有他们的等价关系吗?

由于MySQL实现了多个存储引擎,因此它们需要二进制日志来进行增量式备份/复制,而InnoDB事务日志需要兼容ACID(仅适用于InnoDB存储引擎)。在postgres中,WAL既可以用于复制,也可以用于ACID兼容,所以WAL将二进制日志和InnoDB事务日志。

您可以使用log_statement和log_duration将syslog / separete日志查询到postgres日志查询。 所以你同时得到查询日志和指令log_min_duration_statement你可以实现慢查询日志。

我可能已经得到了一些细节上的错误,但我相信:

正如你所说,WAL就像innodb事务日志。

所有的日志都可以在/var/log/postgresql/postgresql.log中find)

标准的PostgreSQL中没有二进制日志文件,因为它不像MySQL那样做复制。 你可以使用像Slony这样的东西来添加复制。

错误日志在postgresql.log中

慢查询日志也进入这个文件。

一般查询日志与将慢速查询限制设置为0ms相同。