nominatim_fdw

Nominatim Foreign Data Wrapper for PostgreSQL

Overview

PackageVersionCategoryLicenseLanguage
nominatim_fdw1.1.0FDWMITC
IDExtensionBinLibLoadCreateTrustRelocSchema
8680nominatim_fdwNoYesNoYesNoYes-

Version

TypeRepoVersionPG VerPackageDeps
EXTPGDG1.1.01817161514nominatim_fdw-
RPMPGDG1.1.01817161514nominatim_fdw_$v-
DEBPIGSTY1.1.01817161514postgresql-$v-nominatim-fdw-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
d12.aarch64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
d13.x86_64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
d13.aarch64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
u22.x86_64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
u22.aarch64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
u24.x86_64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
u24.aarch64
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0
PIGSTY 1.1.0

Build

You can build the DEB packages for nominatim_fdw using pig build:

pig build pkg nominatim_fdw         # build DEB packages

Install

You can install nominatim_fdw directly. First, make sure the PGDG repository is added and enabled:

pig repo add pgdg -u          # Add PGDG repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install nominatim_fdw;          # Install for current active PG version
pig ext install -y nominatim_fdw -v 18  # PG 18
pig ext install -y nominatim_fdw -v 17  # PG 17
pig ext install -y nominatim_fdw -v 16  # PG 16
pig ext install -y nominatim_fdw -v 15  # PG 15
pig ext install -y nominatim_fdw -v 14  # PG 14
dnf install -y nominatim_fdw_18       # PG 18
dnf install -y nominatim_fdw_17       # PG 17
dnf install -y nominatim_fdw_16       # PG 16
dnf install -y nominatim_fdw_15       # PG 15
dnf install -y nominatim_fdw_14       # PG 14
apt install -y postgresql-18-nominatim-fdw   # PG 18
apt install -y postgresql-17-nominatim-fdw   # PG 17
apt install -y postgresql-16-nominatim-fdw   # PG 16
apt install -y postgresql-15-nominatim-fdw   # PG 15
apt install -y postgresql-14-nominatim-fdw   # PG 14

Create Extension:

CREATE EXTENSION nominatim_fdw;

Usage

nominatim_fdw: Nominatim Foreign Data Wrapper for PostgreSQL

This FDW provides access to Nominatim geocoding services directly from PostgreSQL using SQL functions rather than traditional foreign tables.

Create Server

CREATE EXTENSION nominatim_fdw;

CREATE SERVER osm FOREIGN DATA WRAPPER nominatim_fdw
  OPTIONS (url 'https://nominatim.openstreetmap.org');

Server Options: url (required, Nominatim endpoint URL), http_proxy, proxy_user, proxy_user_password, connect_timeout (default 300 seconds), max_connect_retry (default 3), max_request_redirect (0 = unlimited).

Geocoding (Address to Coordinates)

Structured search:

SELECT osm_id, ref, lon, lat, boundingbox
FROM nominatim_search(
  server_name => 'osm',
  street => 'Neubrueckenstrasse 63',
  city => 'Muenster',
  country => 'Germany'
);

Free-form search:

SELECT osm_id, display_name, lon, lat
FROM nominatim_search(
  server_name => 'osm',
  q => '1600 Pennsylvania Avenue, Washington DC'
);

Parameters: q (free-form query), street, city, county, state, country, postalcode, amenity, limit (default 10), addressdetails, extratags, namedetails.

Reverse Geocoding (Coordinates to Address)

SELECT osm_id, display_name, boundingbox
FROM nominatim_reverse(
  server_name => 'osm',
  lon => -77.0365,
  lat => 38.8977,
  zoom => 18,
  addressdetails => true
);

Parameters: lon, lat (required), zoom (default 18), addressdetails, extratags, namedetails, layer.

OSM Object Lookup

SELECT osm_id, display_name
FROM nominatim_lookup(
  server_name => 'osm',
  osm_ids => 'W121736959,R123456'
);

Parameters: osm_ids (comma-separated list of OSM IDs with type prefix: N=node, W=way, R=relation), addressdetails, extratags, namedetails.

Version Check

SELECT nominatim_fdw_version();

Last Modified 2026-03-12: add pg extension catalog (95749bf)