Dear Laszlo,

Thank you for adding sqlite3_rsync to now also be part of the binary package.

Small request - perhaps it is good to also include a man page for sqlite3_rsync?

The Debian package already contains sqlite3_analyzer.1 and sqldiff.1, so
adding sqlite3_rsync.1 seems consistent, right? :-)

The diff I sent before already included a man page: 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142081&pow_referer=#15

For your convenience I have attached just the man page itself to this email.

        Files: debian/sqlite3_rsync.1
        Copyright: 2026 Job Snijders Aq [email protected]
        License: public-domain

May I ask you to include the (human written!) man page?

Kind regards,

Job
.Dd 2026-08-24
.Dt SQLITE3_RSYNC 1
.Os "Debian GNU/Linux"
.Sh NAME
.Nm sqlite3_rsync
.Nd SQLite3 database remote-copy tool
.Sh SYNOPSIS
.Nm
.Ar ORIGIN
.Ar REPLICA
.Op Fl -exe Ar PATH
.Op Fl -help
.Op Fl p|--port Ar PORT
.Op Fl -protocol Ar N
.Op Fl -ssh Ar PATH
.Op Fl v
.Op Fl -version
.Op Fl -wal-only
.Sh DESCRIPTION
.Nm
makes
.Ar REPLICA
into a copy of
.Ar ORIGIN .
If
.Ar REPLICA
does not already exist, it is created.
.Pp
One of
.Ar ORIGIN
or
.Ar REPLICA
is a pathname to a database on the local machine and the other is of the form
.Dq USER@HOST:PATH
describing a database on a remote machine.
At least one of
.Ar ORIGIN
or
.Ar REPLICA
must be on the local machine.
It is not required that one of
.Ar ORIGIN
or
.Ar REPLICA
be remote, local copy works fine too.
.Pp
The synchronization uses a bandwidth-efficient protocol, similar to
.Xr rsync 1
(from which its name is derived).
The
.Xr ssh 1
program is used for communication, so
.Dq USER@HOST
may be an SSH alias.
.Pp
Both databases may be
.Dq live
while this utility is running.
Other programs can have active connections to the databases on either end while 
this utility is running.
Other programs can write to
.Ar ORIGIN
and can read from
.Ar REPLICA
while this utility runs.
.Pp
.Ar REPLICA
becomes a copy of a snapshot of
.Ar ORIGIN
as it existed when the
.Nm
command started.
If other processes change the content of
.Ar ORIGIN
while this command is running, those changes will be applied to
.Ar ORIGIN ,
but they are not transferred to
.Ar REPLICA .
Thus,
.Ar REPLICA
ends up as a fully-consistent snapshot of
.Ar ORIGIN
at an instant in time.
.Pp
See
.Lk https://sqlite.org/rsync.html
for a more detailed description.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl -exe Ar PATH
Name of the
.Nm
program on the remote side.
.It Fl -help
Show help screen.
.It Fl p|--port Ar PORT
Run SSH over TCP port
.Ar PORT
instead of the default 22.
.It Fl -protocol Ar N
Use sync protocol version
.Ar N .
.It Fl -ssh Ar PATH
Name of the SSH program used to reach the remote side.
.It Fl v
Verbose.
Specify
.Fl v
multiple times for increasing output.
.It Fl -version
Show detailed version information.
.It Fl -wal-only
Do not sync unless both databases are in
.Em WAL
mode.
.El
.Sh AUTHOR
.Nm
has been written by
.An D. Richard Hipp Aq [email protected] .
.Pp
This manual page was written by
.An Job Snijders Aq [email protected]
for the Debian GNU/Linux system.

Reply via email to