Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何从JDBC将postgres数据库与logstash连接以导入数据?_Postgresql_Jdbc_Logstash_Logstash Jdbc - Fatal编程技术网

Postgresql 如何从JDBC将postgres数据库与logstash连接以导入数据?

Postgresql 如何从JDBC将postgres数据库与logstash连接以导入数据?,postgresql,jdbc,logstash,logstash-jdbc,Postgresql,Jdbc,Logstash,Logstash Jdbc,我正在尝试将PostgreSQL数据库与Logstash连接,以便将数据从postgres导入elasticsearch。 我正在使用JDBC驱动程序连接Logstash和postgres 但我有以下错误 [2019-06-27T13:04:05943][ERROR][logstash.javapipeline]插件 有一个无法恢复的错误。将重新启动此插件。 管道id:main插件:postgres,jdbc\u密码=>,语句=>SELECT *来自公共。\contacts\;,jdbc_驱动程

我正在尝试将PostgreSQL数据库与Logstash连接,以便将数据从postgres导入elasticsearch。 我正在使用JDBC驱动程序连接Logstash和postgres

但我有以下错误

[2019-06-27T13:04:05943][ERROR][logstash.javapipeline]插件 有一个无法恢复的错误。将重新启动此插件。 管道id:main插件:postgres,jdbc\u密码=>,语句=>SELECT *来自公共。\contacts\;,jdbc_驱动程序_库=>postgresql-42.2.6.jar, jdbc_连接_字符串=>jd bc:postgresql://localhost:5432/LogstashTest, id=>a76a604bb9cb591dd4a19afc95e03873023e008c564101b4ac19aefe30071213, jdbc_driver_class=>org.postgresql.driver,enable_metric=>true, 编解码器=>普通\u 8f80bf3a-29fe-49e8-86b1-c94e9a298ffb,启用\u度量=>真, charset=>UTF-8>,jdbc\u paging\u enabled=>false,jdbc\u page\u size=>100000, jdbc\u验证\u连接=>false,jdbc\u验证\u超时=

3600,jdbc\u池\u超时=>5,sql\u日志\u级别=>info,连接\u重试\u尝试=>1, 连接重试尝试等待时间=>0.5, 参数=>{sql\u last\u value=>1970-01-01 00:00:00 UTC}, last\u run\u metadata\u path=>C:\Users\roshan/.logstash\u jdbc\u last\u run, 使用列值=>false,跟踪列类型=>numeric, clean_run=>false,record_last_run=>true,小写_列名称=>true> 错误:org.postgresql.Driver未加载。你确定包括在内吗 在:jdbc\u driver\u库中正确的jdbc驱动程序?例外情况: LogStash::ConfigurationError堆栈: D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin\u mixins/jdbc/jdbc.rb:163:in 打开_jdbc_连接' D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin\u mixins/jdbc/jdbc.rb:221:in 执行_语句' D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:277:in execute_query' D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:263:inrun' D:/Swares/logstash-7.2.0/logstash-7.2.0/logstash core/lib/logstash/java_pipeline.rb:309:in 输入工 D:/Swares/logstash-7.2.0/logstash-7.2.0/logstash-core/lib/logstash/java_pipeline.rb:302:in “启动\输入”中的块 [2019-06-27T13:04:06946][ERROR][logstash.inputs.jdbc]无法访问 加载postgresql-42.2.6.jar{:异常=>}

我的配置是

Java版本-1.8.0_211 postgres PostgreSQL 11.0 logstash-7.2.0 这是我的日志文件

input {
    jdbc{
        #input configuration
        jdbc_driver_library => "postgresql-42.2.6.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        jdbc_connection_string => "jdbc:postgresql://localhost:5432/LogstashTest"
        jdbc_user => "postgres"
        jdbc_password => "root"
        statement => 'SELECT  * FROM public."contacts";'
    }
}
output{
    stdout { codec => json_lines }
}

当您将不正确的配置文件传递到Logstash时,可能会由于PostgreSQL JDBC驱动程序损坏而出现此问题。我有同样的问题,你需要检查你的JDBC驱动程序文件

加载postgresql-42.2.6.jar失败,这听起来像是postgresql-42.2.6.jar丢失了,或者它不在logstash期望的位置。@markrottveel没有,我已将它放在bin中