Due to another bug that got fixed today in upstream Git, I put the PostgreSQL JDBC .jar into logstash-core/lib/jars, hence the empty jdbc_driver_library in all three cases.
OK, so the code parses that as a URI, and then calls .to_sym on the scheme. However, that URI does not have a scheme (http, https, etc.), so scheme is nil. That branch of the code is expecting a connection string like 'postgres://user:password@localhost/blog'. There is a lot more detail about what connection strings can look like here. I have not used postgres, but for the DBs I am used to you would need a database name in the connection string.
That was it! It looks like Postgres requires you to be connected to a database to be able to do anything. Here is the final connection string that seems to work (notice that I've specified a custom port):
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.