Как сравнить журналы MySQL с журналами Postgresql?

MySQL имеет довольно много журналов:

  • Журнал транзакций InnoDB
  • Двоичный журнал
  • Общий журнал запросов
  • Журнал ошибок
  • Медленный журнал запросов

Я знаю о WAL Postgresql, который эквивалентен журналу транзакций InnoDB (правильно?).

Как насчет других журналов MySQL, таких как журнал bin - есть ли в Postgresql их эквивалентность?

2 ответа

Решение

Поскольку MySQL реализует несколько механизмов хранения, существует необходимость в двоичном журнале для инкрементных резервных копий / репликации и журнале транзакций InnoDB для соответствия ACID (только с механизмом хранения InnoDB). В postgres WAL может использоваться как для репликации, так и для соответствия ACID, поэтому WAL объединяет двоичный файл журнал и журнал транзакций InnoDB.

Вы можете отправлять запросы журнала postgres в журнал syslog / separete с помощью log_statement и log_duration . Таким образом, вы получаете и журнал запросов, и с помощью директивы log_min_duration_statement вы можете реализовать медленный журнал запросов.

Возможно, я немного ошибся в некоторых деталях, но я считаю, что:

Как вы упоминаете, WAL похож на журнал транзакций innodb.

Все журналы обычно находятся в /var/log/postgresql/postgresql.log)

В стандартном PostgreSQL нет двоичного файла журнала, потому что он не выполняет репликацию, в отличие от MySQL. Вы можете использовать такие вещи, как Slony, чтобы добавить репликацию.

Журнал ошибок находится в postgresql.log

Журнал медленных запросов также попадает в этот файл.

Общий журнал запросов аналогичен заданию ограничения медленных запросов равным 0 мс.

Другие вопросы по тегам