Skip to content

External database issue #588

@KOPACb

Description

@KOPACb

Cant bring to life nominatim 4.5 with external postgis.
got error if dabase exists

nominatim       | + sudo -E -u nominatim nominatim import --osm-file /tiles/pbf/russia-latest.osm.pbf --threads 32
nominatim       | 2024-11-14 16:14:28: Using project directory: /nominatim
nominatim       | 2024-11-14 16:14:32: Creating database
postgis         | 2024-11-14 16:14:32.732 UTC [39176] ERROR:  database "gis" already exists
postgis         | 2024-11-14 16:14:32.732 UTC [39176] STATEMENT:  CREATE DATABASE gis;
nominatim       | createdb: error: database creation failed: ERROR:  database "gis" already exists
nominatim       | 2024-11-14 16:14:32: FATAL: Creating new database failed.

Partically fixed in #394

Also got error if DB dropped:

nominatim       | + sudo -E -u postgres psql postgres -tAc 'ALTER USER nominatim WITH ENCRYPTED PASSWORD '\''Zx3y2OFBGJ'\'''
nominatim       | ALTER ROLE
nominatim       | + sudo -E -u postgres psql postgres -tAc 'ALTER USER "www-data" WITH ENCRYPTED PASSWORD '\''Zx3y2OFBGJ'\'''
nominatim       | ALTER ROLE

...

nominatim       | 2024-11-14 16:01:02: Using project directory: /nominatim
nominatim       | 2024-11-14 16:01:05: Creating database
nominatim       | 2024-11-14 16:01:06: Web user 'www-data' does not exist. Create it with:
nominatim       |
nominatim       |       createuser www-data
nominatim       | 2024-11-14 16:01:06: FATAL: Missing read-only user.

on remote server:

root@0f9a6cd6f447:/app# psql -d "$(echo $NOMINATIM_DATABASE_DSN | cut -d: -f2 | tr ';' ' ' )"
psql (16.4 (Ubuntu 16.4-0ubuntu0.24.04.2), server 17.0 (Debian 17.0-1.pgdg110+1))
WARNING: psql major version 16, server major version 17.
         Some psql features might not work.
Type "help" for help.

gis=# \du
                             List of roles
 Role name |                         Attributes
-----------+------------------------------------------------------------
 nominatim | Superuser, Create role, Create DB
 postgis   | Superuser, Create role, Create DB, Replication, Bypass RLS
 www-data  | Cannot login

To Reproduce
My latest docker-compose:

version: '3'

services:
  postgis:
    image: postgis/postgis
    container_name: postgis
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: postgresql
    volumes:
      - /tiles/postgres-data:/var/lib/postgresql/data
#      - ./postgis-entrypoint/postgres-tuning.conf:/docker-entrypoint-initdb.d//postgres-tuning.conf
#      - ./postgis-entrypoint/tune_db.sh:/docker-entrypoint-initdb.d/tune_db.sh


  nominatim:
    image: mediagis/nominatim:4.5
    container_name: nominatim
    ports:
      - "8001:8080"
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_HOST: postgis
      DB_HOST: "postgis"
      PGHOST: "postgis"
      PGUSER: ${POSTGRES_USER}
      PGPASSWORD: ${POSTGRES_PASSWORD}
      PBF_PATH: /tiles/pbf/russia-latest.osm.pbf
      PGDATABASE: ${POSTGRES_DB}
      NOMINATIM_REPLICATION_URL: https://download.geofabrik.de/russia-updates/
      NOMINATIM_IMPORT_WIKIPEDIA: "true"
      NOMINATIM_DATABASE_DSN: "pgsql:dbname=${POSTGRES_DB};user=${POSTGRES_USER};password=${POSTGRES_PASSWORD};host=postgis"
      NOMINATIM_DATABASE_WEBUSER: "www-data"
      NOMINATIM_PASSWORD: ${POSTGRES_PASSWORD}
#      SKIP_IMPORT: True
    volumes:
      - ./init.sh:/app/init.sh
      - /tiles/pbf:/tiles/pbf  # Монтирование директории для PBF-файлов
    depends_on:
      - postgis

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions