mysql - 如何从 Wireshark 文件中查找(解码)PostgreSQL 查询?

标签 mysql database postgresql tcp wireshark

我在 Linux 平台上使用 PostgreSQL 5.5。我正在尝试监控主从之间与 PostgreSQL 相关的所有流量。为此,我使用 Wireshark 来监控流量。然后,我启动了 PostgreSQL 并运行了三个查询(创建表 Hello、创建表 Bye 并将图像插入到 PostgreSQL 数据库)。查询时,我在Master上运行Wireshark,就是为了抓取Master和Slave之间的流量。
但是使用 Wireshark 捕获的 PostgreSQL 流量存在一个问题。所有流量都在 TCP 数据包中发送/接收,并且该流量采用编码形式。我无法读取该数据。我想从 Wirehsark 中找出我插入 PostgreSQL 数据库的所有这三个查询。 查找 PostgreSQL 查询的最佳方法是什么? 另一方面,我在 MySQL 数据库上运行相同的查询并重复上述实验。我可以轻松读取 wireshark 转储中的所有这三个查询,因为它们不是编码形式。

PostgreSQL 实验的 Wireshark 文件可在 Wireshark-File 上获得.我需要从 Wirehsark 文件中找出以上三个查询。 关于文件: 192.168.50.11 是我向远程 PostgreSQL 的主服务器插入查询的源机器。 192.168.50.12是Master服务器的IP。 192.168.50.13 是从机的 IP 地址。查询从 .11 执行并插入到 .12,然后使用主从方法复制到 .13。 非常欢迎指点。

最佳答案

您可能正在使用基于 WAL 的复制(默认),这意味着您不能。

这涉及在机器之间传送事务日志。这是数据在磁盘上的实际表示。

有替代的基于触发器的复制方法(slony 等)和新的逻辑复制。

两者都不会让您重新创建我理解的完整原始查询,但会让您更接近。

有些系统会在节点上复制查询(例如 MySQL),但它们并不完全相同。

如果您想确切知道主服务器上正在运行哪些查询,请打开查询日志记录并监控日志。

关于mysql - 如何从 Wireshark 文件中查找(解码)PostgreSQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43603225/

相关文章:

mysql - 将 SQL 查询中的值格式化为数字以将它们导出到 Excel

mysql - 检索按键列值分组的最新日期 (MySql)

mysql - 使用 R 从 phpmyadmin 连接到本地数据库

sql - 使用postgresql的多选查询

mysql性能一个大表与许多表

java - Spring Boot 连接到 AWS RDS MySQL - SSLHandshakeException : Received fatal alert: unknown_ca

数据库设计 - 一个表中的列引用两个表

php - 如何获取 GROUP BY 查询的总行数?

sql - 数组 (UUID[ ]) 是否打破 1NF?

sql - 多列上的 PostgreSQL 索引,什么时候太多了?