我有一个在AWS上运行CockroachDB的应用程序,并希望记录它执行的所有查询。但是,我在群集的日志中找不到任何似乎包含查询的内容。我尝试通过它们来查看我的应用程序的SELECT
语句,但找不到它们。
有没有办法启用查询记录?
答案 0 :(得分:2)
另一个答案已过时。有两种机制:
对于常规检查/故障排除,应该使用此处记录的SQL语句执行日志记录:https://www.cockroachlabs.com/docs/stable/query-behavior-troubleshooting.html#cluster-wide-execution-logs
对于访问审核(例如在法规要求时),请使用审核日志记录:https://www.cockroachlabs.com/docs/stable/sql-audit-logging.html
答案 1 :(得分:1)
启动具有cockroach start的节点时,请包含--vmodule=executor=2
标志以记录所有SQL查询。例如:
cockroach start --background --vmodule=executor=2
您可以从cockroach-data/logs
如果您对记录运行“太长”的查询感到好奇,请将env var COCKROACH_TRACE_SQL
设置为持续时间,以记录超过该持续时间的所有查询。
也可以在启动服务器后通过使用与管理UI相同的主机/端口访问URL http://[admin UI URL]/debug/vmodule/executor=2
来激活此日志记录。