FreemapSlovakia / freemap-mapnik

Outdoor map mainly for https://www.freemap.sk/
https://www.freemap.sk/?layers=X
Apache License 2.0
22 stars 9 forks source link

PostgreSQL : Missing prioritize extension #316

Closed necarnot closed 5 months ago

necarnot commented 6 months ago

The prerender service is showing errors related to a missing extension :

déc. 31 14:25:10 freemap node[403788]: Error creating or configuring Mapnik: [Error: Postgis Plugin: ERROR:  function set_backend_priority(integer, integer) does not exist
déc. 31 14:25:10 freemap node[403788]: LINE 2:           SELECT set_backend_priority(pg_backend_pid(), 10),...
déc. 31 14:25:10 freemap node[403788]:                          ^
déc. 31 14:25:10 freemap node[403788]: HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
déc. 31 14:25:10 freemap node[403788]: in executeQuery Full sql was: 'SELECT * FROM (
déc. 31 14:25:10 freemap node[403788]:           SELECT set_backend_priority(pg_backend_pid(), 10), ST_LineMerge(ST_Collect(geometry)) AS geometry, name, type
déc. 31 14:25:10 freemap node[403788]:           FROM osm_waterways
déc. 31 14:25:10 freemap node[403788]:           WHERE geometry && ST_MakeEnvelope(-3.402823466385289e+38,-3.402823466385289e+38,3.402823466385289e+38,3.402823466385289e+38,3857) AND type = 'river' AND name <> ''
déc. 31 14:25:10 freemap node[403788]:           GROUP BY name, type
déc. 31 14:25:10 freemap node[403788]:         ) AS foo LIMIT 0'
déc. 31 14:25:10 freemap node[403788]:   encountered during parsing of layer 'Unnamed' in Layer]

As the freemap-mapnik-prerender systemd service is using a PostgreSQL prioritize environment directive, one must add the "prioritize" extension to the PGSQL db.

For example on Debian 12, this is done this way:

# apt install postgresql-16-prioritize
...
su - postgres
postgres@freemap:~$ psql -d freemap
psql (16.1 (Debian 16.1-1.pgdg120+1))
freemap=# CREATE EXTENSION prioritize;
CREATE EXTENSION
# 

I also restarted the pgsql server, but I don't know if it's mandatory.

zdila commented 6 months ago

please do your PR to FreemapSlovakia/freemap-mapnik

necarnot commented 6 months ago

please do your PR to FreemapSlovakia/freemap-mapnik

Hi Martin,

yep, I'm not comfortable enough and I'm still fighting with all this, so forgive some of my hesitations.