I've never attempted to connect to PostgreSQL via SSL so I don't have any
direct experience.

This page is somewhat informative.
https://jdbc.postgresql.org/documentation/81/ssl-client.html

I suspect Osmosis needs to be enhanced to include the ssl=true connection
parameter.  It *should* be possible to do the keystore config and
additional command line arguments without code changes.

On 23 January 2015 at 15:13, Marty Alchin <ma...@martyalchin.com> wrote:

> I have a mapping project that I've been working on for a while now, using
> my own installation of the Rails port, hosted on Heroku. It's been working
> well, but the time has come to move from the API database to a PostGIS
> database so I can use tools like TileMill to actually produce the maps I
> need. Osmosis seems like exactly the tool I need!
>
> The trouble I'm running into is that Heroku serves all of its databases
> through SSL, and Osmosis doesn't seem to provide an option to use SSL to
> connect to the database. I've verified that I can connect to the database
> using psql, and I've verified that it is reaching the database server,
> because I get a different error if I change the host or port.
>
> I expect adding an SSL option would be relatively simple, but
> unfortunately, I don't have the Java expertise necessary to find and apply
> the patch, so I admit I may not understand the complexities involved. I
> hate opening discussions like this without having code to address the
> issue, but I'm a Python guy, and it would take me way too long to get a
> Java environment up and running and get up to speed on the codebase, much
> less do things the right way for Java.
>
> Am I just missing an option somewhere? If not, is this something that
> could get added to Osmosis? If not, I can duplicate my database locally
> using psql, but I figured I'd at least see if this is a possibility.
> Anyway, here's the output I get when I try to run Osmosis with the proper
> credentials (I've replaced the actual credentials with "..."). Note that
> the pg_hba.conf response explicitly states that it's trying to connect with
> SSL off.
>
> $ osmosis --read-apidb host="..." user="..." password="..." database="..."
> --write-xml file="planet.osm"
> Jan 22, 2015 4:03:36 PM org.openstreetmap.osmosis.core.Osmosis run
> INFO: Osmosis Version 0.42-6-gf39a160-dirty
> Jan 22, 2015 4:03:37 PM org.openstreetmap.osmosis.core.Osmosis run
> INFO: Preparing pipeline.
> Jan 22, 2015 4:03:37 PM org.openstreetmap.osmosis.core.Osmosis run
> INFO: Launching pipeline execution.
> Jan 22, 2015 4:03:37 PM org.openstreetmap.osmosis.core.Osmosis run
> INFO: Pipeline executing, waiting for completion.
> Jan 22, 2015 4:03:37 PM
> org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager
> waitForCompletion
> SEVERE: Thread for task 1-read-apidb failed
> org.springframework.transaction.CannotCreateTransactionException: Could
> not open JDBC Connection for transaction; nested exception is
> org.apache.commons.dbcp.SQLNestedException: Cannot create
> PoolableConnectionFactory (FATAL: no pg_hba.conf entry for host "...", user
> "...", database "...", SSL off)
>     at
> org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:240)
>     at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
>     at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:127)
>     at
> org.openstreetmap.osmosis.apidb.common.DatabaseContext2.executeWithinTransaction(DatabaseContext2.java:89)
>     at
> org.openstreetmap.osmosis.apidb.v0_6.ApidbReader.run(ApidbReader.java:105)
>     at java.lang.Thread.run(Thread.java:695)
> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
> PoolableConnectionFactory (FATAL: no pg_hba.conf entry for host "...", user
> "...", database "...", SSL off)
>     at
> org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
>     at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
>     at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
>     at
> org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:202)
>     ... 5 more
> Caused by: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry
> for host "...", user "...", database "...", SSL off
>     at
> org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:293)
>     at
> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108)
>     at
> org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
>     at
> org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
>     at
> org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
>     at
> org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22)
>     at
> org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:32)
>     at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
>     at org.postgresql.Driver.makeConnection(Driver.java:393)
>     at org.postgresql.Driver.connect(Driver.java:267)
>     at
> org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
>     at
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
>     at
> org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
>     at
> org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
>     ... 8 more
> Jan 22, 2015 4:03:37 PM org.openstreetmap.osmosis.core.Osmosis main
> SEVERE: Execution aborted.
> org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks
> failed.
>     at
> org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
>     at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
>     at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
>     at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
>     at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>     at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>     at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
>
>
> _______________________________________________
> osmosis-dev mailing list
> osmosis-dev@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osmosis-dev
>
>
_______________________________________________
osmosis-dev mailing list
osmosis-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/osmosis-dev

Reply via email to