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,  optionally
	    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 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 replication service. The
     start date is either taken from the database timestamp  (for  osm2pgsql  >=
     1.9)  or determined from the newest way in the database 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 roll-
     back. 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.

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 password,
     use a pgpass  file,  see  https://www.postgresql.org/docs/current/libpq-pg-
     pass.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 repli-
	    cation 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  tem-
     porary file is normally deleted afterwards unless you state an explicit lo-
     cation  with '--diff-file'. Once the database is up to date with the repli-
     cation 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-processing fails, then  the
     entire  update  run is considered a failure and the replication information
     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 se-
     quence ID and timestamp of the last successful run. The  timestamp  may  be
     missing  in the rare case that the replication service stops responding af-
     ter 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  password,
     use  a  pgpass  file, see https://www.postgresql.org/docs/current/libpq-pg-
     pass.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 sequence
     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/replication/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  im-
     properly  set up replication. 3 for network issues. If status is greater 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 its se-
     quence 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 password,
     use a pgpass  file,  see  https://www.postgresql.org/docs/current/libpq-pg-
     pass.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.3.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.1.quarterly>

home | help