【问题标题】:show postgres query text with params显示带有参数的 postgres 查询文本
【发布时间】:2021-01-16 00:02:26
【问题描述】:

查询有问题

con = PG::Connection.open(mydatabase)
result = con.exec_params(sql,[params1, params2, params3])

我怎样才能得到所有的文本发送查询,来调查它?

【问题讨论】:

  • 很抱歉,我不清楚您的问题。你到底想看什么?示例代码中一个或多个变量的值?或者您想知道如何读取结果?
  • 我想看看带参数的最终sql是什么样子的。我猜其中一个参数没有被正确读取,看到它在请求文本中的样子,我想我会理解发生了什么。其中一个参数看起来像“'1','2','3'”。此查询返回空结果,而不是错误。
  • 在服务器端,您可以在 postgresql.conf 中设置log_statement = all,这会将所有有效语句打印到日志中。
  • sql代表的查询是什么?

标签: ruby postgresql parameters


【解决方案1】:

我不确定您是否可以使用 PG 和 exec_params 命令在客户端获取它。正如上面在 cmets 中提到的,您可以尝试在 Postgres 端 (postgresql.conf) 记录所有查询。

我认为您可以在这里实现的最接近的近似值是安装和使用pg-connection-general_log gem。

installation 非常简单。 您应该以下列格式获取所有生成查询的一般日志:

SQL (0000.78ms) SELECT * FROM users WHERE name = $1 ["param1"]  /path/to/test.rb:13:in `block in <main>'

【讨论】:

    猜你喜欢
    • 2016-07-06
    • 2018-12-05
    • 2015-05-03
    • 2016-06-14
    • 2018-11-03
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多