Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OSM2PGSQL-REPLICATION(1)			      OSM2PGSQL-REPLICATION(1)

NAME
       osm2pgsql-replication - osm2pgsql database updater

SYNOPSIS
       osm2pgsql-replication [-h] {init,update,status} ...

DESCRIPTION
       Update  an  osm2pgsql  database	with  changes  from  a OSM replication
       server.

       This tool initialises the updating process by  looking  at  the	import
       file
       or  the newest object in	the database. The state	is then	saved in a ta-
       ble
       in the database.	Subsequent runs	download newly available data and  ap-
       ply
       it to the database.

       See the help of the 'init' and 'update' command for more	information on
       how to use osm2pgsql-replication.

OPTIONS
   Sub-commands
       osm2pgsql-replication init
		  Initialise the replication process.

       osm2pgsql-replication update
		  Download newly available data	and apply it to	the database.

       osm2pgsql-replication status
		  Print	 information about the current replication status, op-
	      tionally as JSON.

OPTIONS	'osm2pgsql-replication init'
       usage: osm2pgsql-replication init [-h] [-q] [-v]	[-d DB]	[-U NAME]  [-H
       HOST]
					 [-P PORT] [-p PREFIX]
					 [--middle-schema   SCHEMA]  [--schema
       SCHEMA]
					 [--osm-file FILE | --server URL]
					 [--start-at TIME]

       Initialise the replication process.

       This function sets the replication service to use and determines	from
       which date to apply updates. You	must call this function	at least once
       to set up the replication process. It can safely	be called again	later
       to change the replication servers or to roll back  the  update  process
       and
       reapply updates.

       There are different methods available for initialisation. When no
       additional parameters are given,	the data is initialised	from the data
       in the database.	If the data was	imported from a	file with replication
       information  and	 the  properties  table	is available (for osm2pgsql >=
       1.9)
       then the	replication from the file is used. Otherwise the minutely
       update service from openstreetmap.org is	used as	the  default  replica-
       tion
       service.	The start date is either taken from the	database timestamp
       (for  osm2pgsql	>= 1.9)	or determined from the newest way in the data-
       base
       by querying the OSM API about its creation date.

       The replication service can be changed with the '--server' parameter.
       To use a	different start	date, add '--start-at' with an absolute
       ISO timestamp (e.g. 2007-08-20T12:21:53Z). When the program  determines
       the
       start date from the database timestamp or way creation date, then it
       subtracts another 3 hours by default to ensure that all new changes are
       available. To change this rollback period, use '--start-at' with	the
       number of minutes to rollback. This rollback mode can also be used to
       force initialisation to use the database	date and ignore	the date
       from the	replication information	in the file.

       The initialisation process can also use replication information from
       an OSM file directly and	ignore all other date information.
       Use the command 'osm2pgsql-replication --osm-file <filename>' for this.

       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

       -d DB, --database DB
	      Name of PostgreSQL database to connect to	or conninfo string

       -U NAME,	--username NAME
	      PostgreSQL user name

       -H HOST,	--host HOST
	      Database server host name	or socket location

       -P PORT,	--port PORT
	      Database server port

       -p PREFIX, --prefix PREFIX
	      Prefix for table names (default 'planet_osm')

       --middle-schema SCHEMA
	      Name  of the schema to store the table for the replication state
	      in

       --schema	SCHEMA
	      Name of the schema for the database

       --osm-file FILE
	      Get replication information from the given file.

       --server	URL
	      Use replication server at	the given URL

       --start-at TIME
	      Time when	to start replication. When an absolute	timestamp  (in
	      ISO  format)  is	given,	it will	be used. If a number is	given,
	      then replication starts the number of minutes before  the	 known
	      date of the database.

OPTIONS	'osm2pgsql-replication update'
       usage:  osm2pgsql-replication  update update [options] [-- param	[param
       ...]]

       Download	newly available	data and apply it to the database.

       The data	is downloaded in chunks	of '--max-diff-size' MB. Each chunk is
       saved in	a temporary file and imported with osm2pgsql from there. The
       temporary file is normally deleted afterwards unless you	state  an  ex-
       plicit
       location	with '--diff-file'. Once the database is up to date with the
       replication source, the update process exits with 0.

       Any  additional	arguments  to  osm2pgsql  need to be given after '--'.
       Database
       and the prefix parameter	are handed through to osm2pgsql. They  do  not
       need
       to be repeated. '--append' and '--slim' will always be added as well.

       Use  the	 '--post-processing'  parameter	 to  execute  a	 script	 after
       osm2pgsql has
       run successfully. If the	updates	consists of multiple runs because the
       maximum size of downloaded data was reached, then the  script  is  exe-
       cuted
       each time that osm2pgsql	has run. When the post-processing fails, then
       the  entire  update run is considered a failure and the replication in-
       formation
       is not updated. That means that when 'update' is	run the	next  time  it
       will
       recommence with downloading the diffs again and reapplying them to the
       database. This is usually safe. The script receives two parameters:
       the sequence ID and timestamp of	the last successful run. The timestamp
       may  be missing in the rare case	that the replication service stops re-
       sponding
       after the updates have been downloaded.

       param  Extra parameters to hand in to osm2pgsql.

       --diff-file FILE
	      File to save changes before they are applied to osm2pgsql.

       --max-diff-size MAX_DIFF_SIZE
	      Maximum data to load in MB (default: 500MB)

       --osm2pgsql-cmd OSM2PGSQL_CMD
	      Path to osm2pgsql	command

       --once Run updates only once, even when more data is available.

       --post-processing SCRIPT
	      Post-processing script to	run after each execution of osm2pgsql.

       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

       -d DB, --database DB
	      Name of PostgreSQL database to connect to	or conninfo string

       -U NAME,	--username NAME
	      PostgreSQL user name

       -H HOST,	--host HOST
	      Database server host name	or socket location

       -P PORT,	--port PORT
	      Database server port

       -p PREFIX, --prefix PREFIX
	      Prefix for table names (default 'planet_osm')

       --middle-schema SCHEMA
	      Name of the schema to store the table for	the replication	 state
	      in

       --schema	SCHEMA
	      Name of the schema for the database

OPTIONS	'osm2pgsql-replication status'
       usage:  osm2pgsql-replication  status  [-h] [-q]	[-v] [-d DB] [-U NAME]
       [-H HOST]
					   [-P PORT] [-p PREFIX]
					   [--middle-schema SCHEMA]  [--schema
       SCHEMA]
					   [--json]

       Print  information  about the current replication status, optionally as
       JSON.

       Sample output:

	   2021-08-17	15:20:28    [INFO]:    Using	replication    service
       'https://planet.openstreetmap.org/replication/minute',  which is	at se-
       quence 4675115 (	2021-08-17T13:19:43Z )
	   2021-08-17 15:20:28 [INFO]: Replication server's most  recent  data
       is <1 minute old
	   2021-08-17 15:20:28 [INFO]: Local database is 8288 sequences	behind
       the server, i.e.	5 day(s) 20 hour(s) 58 minute(s)
	   2021-08-17  15:20:28	[INFO]:	Local database's most recent data is 5
       day(s) 20 hour(s) 59 minute(s) old

       With the	'--json' option, the status is printed as a json object.

	   {
	     "server": {
	       "base_url":	    "https://planet.openstreetmap.org/replica-
       tion/minute",
	       "sequence": 4675116,
	       "timestamp": "2021-08-17T13:20:43Z",
	       "age_sec": 27
	     },
	     "local": {
	       "sequence": 4666827,
	       "timestamp": "2021-08-11T16:21:09Z",
	       "age_sec": 507601
	     },
	     "status": 0
	   }

       'status'	is 0 if	there were no problems getting the status. 1 & 2 for
       improperly  set	up  replication.  3 for	network	issues.	If status   0,
       then
       the 'error' key is an error message (as string).	'status'  is  used  as
       the
       exit code.

       'server'	is the replication server's current status. 'sequence' is it's
       sequence	number,	'timestamp' the	time of	that, and 'age_sec' the	age of
       the
       data in seconds.

       'local' is the status of	your server.

       --json Output status as json.

       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

       -d DB, --database DB
	      Name of PostgreSQL database to connect to	or conninfo string

       -U NAME,	--username NAME
	      PostgreSQL user name

       -H HOST,	--host HOST
	      Database server host name	or socket location

       -P PORT,	--port PORT
	      Database server port

       -p PREFIX, --prefix PREFIX
	      Prefix for table names (default 'planet_osm')

       --middle-schema SCHEMA
	      Name  of the schema to store the table for the replication state
	      in

       --schema	SCHEMA
	      Name of the schema for the database

SEE ALSO
       * osm2pgsql website (https://osm2pgsql.org)
       * osm2pgsql manual (https://osm2pgsql.org/doc/manual.html)

				     2.0.1	      OSM2PGSQL-REPLICATION(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=osm2pgsql-replication&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help