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 an 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
       table  in  the  database. Subsequent runs download newly	available data
       and apply it to the database.

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

AVAILABLE 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,  option-
	      ally as JSON.

COMMAND	'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 addi-
       tional  parameters  are given, the data is initialised from the data in
       the database. If	the data was imported from a file with replication in-
       formation and the properties table is available (for osm2pgsql >=  1.9)
       then  the replication from the file is used. Otherwise the minutely up-
       date service from openstreetmap.org is used as the default  replication
       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  com-
       mand 'osm2pgsql-replication --osm-file <filename>' for this.

DEFAULT	ARGUMENTS 'osm2pgsql-replication init'
       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

DATABASE ARGUMENTS 'osm2pgsql-replication init'
       The following arguments can be used to set the connection parameters to
       the osm2pgsql database. You may also use	libpq environment variables to
       set  connection	parameters,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-envars.html.	If your	database connection requires  a	 pass-
       word,  use  a  pgpass  file,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-pgpass.html.

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

       -U NAME,	--username NAME, --user	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

REPLICATION SOURCE ARGUMENTS 'osm2pgsql-replication init'
       --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.

COMMAND	'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 executed each time that osm2pgsql has run. When the post-pro-
       cessing	fails,	then the entire	update run is considered a failure and
       the replication information is not updated. That	means that  when  'up-
       date'  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 responding	after the updates have
       been downloaded.

       param  Extra parameters to hand in to osm2pgsql.

OPTIONS	'osm2pgsql-replication update'
       --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.

DEFAULT	ARGUMENTS 'osm2pgsql-replication update'
       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

DATABASE ARGUMENTS 'osm2pgsql-replication update'
       The following arguments can be used to set the connection parameters to
       the osm2pgsql database. You may also use	libpq environment variables to
       set  connection	parameters,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-envars.html.	 If  your database connection requires a pass-
       word,  use  a  pgpass  file,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-pgpass.html.

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

       -U NAME,	--username NAME, --user	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

COMMAND	'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 is
       greater 0, then the 'error' key is an error message (as string).	 'sta-
       tus' is used as the exit	code.

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

       'local' is the status of	your server.

OPTIONS	'osm2pgsql-replication status'
       --json Output status as json.

DEFAULT	ARGUMENTS 'osm2pgsql-replication status'
       -q, --quiet
	      Print only error messages

       -v, --verbose
	      Increase verboseness of output

DATABASE ARGUMENTS 'osm2pgsql-replication status'
       The following arguments can be used to set the connection parameters to
       the osm2pgsql database. You may also use	libpq environment variables to
       set  connection	parameters,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-envars.html.	 If  your database connection requires a pass-
       word,  use  a  pgpass  file,  see  https://www.postgresql.org/docs/cur-
       rent/libpq-pgpass.html.

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

       -U NAME,	--username NAME, --user	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.2.0	      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+15.0>

home | help