This is a static archive of our old OpenStreetMap Help Site. Please post any new questions and answers at community.osm.org.

Postgis Plugin: fe_sendauth: no password supplied

0

Hello,

I am using the instructions found at https://switch2osm.org/manually-building-a-tile-server-18-04-lts/ to setup a OSM mapping server. If the ubuntu user matches the postgresql user ( i.e. renderaccount) everything works without any problems.

However, I would like to get stuff to work where the ubuntu user is XXX and the postgresql user remains renderaccount.

I can get past most issues by:

  1. changing pg_hba.conf so:

    local   all             all                                     peer

    looks like:

    local   all             all                                     md5
  2. Setting the PGUSER environment variable to renderaccount

  3. adding ::gis:renderaccount:<password> to ~/.pgpass

However, when I am ready to startup the renderer by doing:

renderd -f -c /usr/local/etc/renderd.conf

I am presented with the errors:

renderd[47532]: An error occurred while loading the map layer 'ajt': Postgis Plugin: fe_sendauth: no password supplied
Connection string: ' dbname=gis connect_timeout=4'
  encountered during parsing of layer 'landcover-low-zoom' in Layer at line 765 of '/home/lander/src/openstreetmap-carto-de/osm.xml'
renderd[47532]: An error occurred while loading the map layer 'ajt': Postgis Plugin: fe_sendauth: no password supplied
Connection string: ' dbname=gis connect_timeout=4'
  encountered during parsing of layer 'landcover-low-zoom' in Layer at line 765 of '/home/lander/src/openstreetmap-carto-de/osm.xml'
renderd[47532]: An error occurred while loading the map layer 'ajt': Postgis Plugin: fe_sendauth: no password supplied
Connection string: ' dbname=gis connect_timeout=4'
  encountered during parsing of layer 'landcover-low-zoom' in Layer at line 765 of '/home/lander/src/openstreetmap-carto-de/osm.xml'
renderd[47532]: An error occurred while loading the map layer 'ajt': Postgis Plugin: fe_sendauth: no password supplied
Connection string: ' dbname=gis connect_timeout=4'
  encountered during parsing of layer 'landcover-low-zoom' in Layer at line 765 of '/home/lander/src/openstreetmap-carto-de/osm.xml'

I am assuming what is going on is that it is trying to talk to the database using the renderaccount user, but because there is a password, it cannot and does not try to look at the .pgpass file.

This seems to be an issue with postgis...

What might I need to change so the rendering system can use the specific user I specify?

Regards, Willie

asked 23 Sep '19, 13:07

Willie_H's gravatar image

Willie_H
16224
accept rate: 0%


One Answer:

0

You might have to add the username and password to the XML style that is processed my mapnik/renderd, or if you prefer add it to the project.mml file before you execute the "carto" command to process that into an XML file. There's a "osm2pgsql" section near the start of the mml file that has database access information:

osm2pgsql: &osm2pgsql
    type: "postgis"
    dbname: "gis"
    key_field: ""
    geometry_field: "way"
    user: "renderaccount"
    password: "password"
    extent: "-20037508,-20037508,20037508,20037508"

answered 23 Sep '19, 15:30

Frederik%20Ramm's gravatar image

Frederik Ramm ♦
82.5k927201273
accept rate: 23%

edited 23 Sep '19, 19:43

This is what that section currently looks like in the project.mml I am using...

osm2pgsql: &osm2pgsql
    type: "postgis"
    dbname: "gis"
    key_field: ""
    geometry_field: "way"
    extent: "-20037508,-20037508,20037508,20037508"

where is this section documented? I am not certain what the keys should be.

(23 Sep '19, 15:48) Willie_H

Ok. I was able to find the keys that one needed to use:

osm2pgsql: &osm2pgsql
    type: "postgis"
    dbname: "gis"
    key_field: ""
    geometry_field: "way"
    user: "renderaccount"
    password: "password"
    extent: "-20037508,-20037508,20037508,20037508"

If you wanted to add this to your answer to make it complete, I will mark it as the answer.

(23 Sep '19, 16:10) Willie_H

sorry for being imprecise, and glad you found it.

(23 Sep '19, 19:43) Frederik Ramm ♦

Need one more detail. As it turns out, /etc/postgresql/10/main/pg_hba.conf needs to be edited as well to say:

local   all             all                                     trust

(Although, I am not quite sure why this is necessary and it may mean (checked at the moment) that the password entry in the osm2pgsql section is unnecessary.

Can you add that to your answer as well?

(23 Sep '19, 20:48) Willie_H

Source code available on GitHub .