【问题标题】:Logstash refuse to see a postgres tableLogstash 拒绝查看 postgres 表
【发布时间】:2023-01-18 23:29:25
【问题描述】:

所以我创建了我的 logstash conf 文件,并在一个 docker compose 文件中启动了 logstash、kibana、Postgres 和 elasticsearch,它与我的数据库无缝连接,但它说“产品”表不存在。

[2023-01-18T14:06:00,182][WARN ][logstash.inputs.jdbc ][main][6a13cd40fa144828caae9db4ed20b978765149c99cc59d5830fa4ccad80b4017] Exception when executing JDBC query {:exception=>"Java::OrgPostgresqlUtil::PSQLException: ERROR: relation \"products\" does not exist\n Position: 15"}

这是我的会议

input {
    jdbc {
        jdbc_connection_string => "jdbc:postgresql://elastic-postgres-1:5432/shopdb"
        jdbc_user => "postgres"
        jdbc_password => "****"
        jdbc_driver_library => "./postgresql-42.2.27.jre7.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        statement => "SELECT * FROM products;"
        schedule => "* * * * *"
    }
}

output {
    elasticsearch {
        hosts => ["http://elasticsearch:9200"]
        index => "PostgreSQL"
    }
}

当然,在创建表之前,我确实将我的 postgres 链接到带有 conf 的 logstash,但我尝试再次重新启动容器。错误仍然存​​在我尝试放入错误的表以了解它是否甚至更新了它注意到的 conf 那么为什么它没有看到现在已创建和填充的表“产品”?

【问题讨论】:

  • 您可能需要引用架构名称,例如“SELECT * FROM schema_name.object_name”

标签: postgresql elasticsearch logstash


【解决方案1】:

尝试在查询中显式使用对象模式名称以避免此错误未找到表。 喜欢:

SELECT * FROM schema_name.object_name

【讨论】:

    猜你喜欢
    • 2013-09-12
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多