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

FreeBSD Manual Pages

  
 
  

home | help
OVSQLITE-UTIL(8)	   InterNetNews Documentation		OVSQLITE-UTIL(8)

NAME
     ovsqlite-util - Overview manipulation utility for ovsqlite

SYNOPSIS
     ovsqlite-util [-AFghioO] [-a article] [-n newsgroup] [-p path]

DESCRIPTION
     ovsqlite-util  is	an  administrative  interface  to  the ovsqlite overview
     method for INN.  It only works on ovsqlite overview databases, not  on  any
     other  type  of  INN overview.  (See dedicated ovdb_stat(8) and tdx-util(8)
     programs for ovdb and tradindexed overview methods.)  It allows the  admin-
     istrator  to  dump  various  information  about  the  internal state of the
     overview, audit it for errors, and fix these errors.

     To audit the entire overview database for problems, use -A.  The checks can
     take an extended period of time, depending on the number of newsgroups  and
     articles  present in the overview database.  Any problems found will be re-
     ported to standard error.	Use -F to correct the errors found.

     It is safe to run this utility while the server is running.  In case  fixes
     should be made to the database (when using the -F flag), ovsqlite-util will
     properly pause the server before performing its operations, and then resume
     it.

     The  number of overview records stored in the database can be obtained with
     the "inndf -n" command.

     As ovsqlite-util directly opens the ovsqlite overview database, it may take
     a longer time to complete when INN  is  running  owing  to  the  fact  that
     ovsqlite-server  may  hold locks on certain tables, in which case ovsqlite-
     util just waits for the locks to be released.  (The transtimelimit  parame-
     ter  in  ovsqlite.conf  controls  the duration of a transaction, so you may
     check you have not set a too high value.)

REQUIREMENTS
     The "DBI" Perl module with the "DBD::SQLite" driver must be  installed  for
     this  program to work.  They are present in most distributions as a package
     named like  "libdbd-sqlite3-perl",  "perl-DBD-SQLite"  or	"p5-DBD-SQLite".
     They  can also be directly installed from CPAN ("DBI" and "DBD-SQLite" dis-
     tributions available at <https://metacpan.org/dist/DBI> and <https://metac-
     pan.org/dist/DBD-SQLite>).

     Naturally, an ovsqlite overview database also needs being in  use,  as  de-
     tailed in the ovsqlite(5) manual page.

OPTIONS
     -a article
	 The  article  number  or  numbers  to	act on.  article is a valid NNTP
	 range, meaning that it can be either a single article number or a range
	 of article numbers (like "1-5").  Either the start or the end (or both)
	 of the range may be omitted, in which case they  will	be  set  to  the
	 first	or last article number in the group.  Passing "-" for article is
	 therefore equivalent to not using the -a option at all.

	 Only useful in combination with the -g,  -o  and  -O  options	to  dump
	 overview information.

     -A  Audit	the  entire overview database for problems.  Currently, only one
	 consistency check is performed: the verification  that  the  low  water
	 mark, the high water mark and the article count of each newsgroup match
	 the  reality  of articles present in overview.  No changes will be made
	 to the database, but problems will be reported to standard error.

     -F  Audit the entire overview database for problems, fixing them as they're
	 detected where possible.  This runs the same checks as the -A flag, and
	 fixes the problems found.  Using this option takes care of pausing  and
	 resuming  INN	so  that  the  overview  data are not changed by another
	 process during the operations.

	 To see what would be changed by -F, run ovsqlite-util with -A first.

     -g  Dump overall overview information for a particular group.   The  fields
	 are, in order, the article number, the length of the overview data, the
	 time  (in  seconds since epoch) when the article arrived on the server,
	 the time (in seconds since epoch) when the article should expire  based
	 on its Expires header field (or 0 if there is no Expires header field),
	 and the storage API token of the article.

	 If  this  option  is given, the -n option must also be given to specify
	 the newsgroup on which to act.

     -i  Dump newsgroup-related overview information from  the	database.   This
	 contains  similar  information  to the server active file, such as high
	 and low water marks and moderation status, and is the information  that
	 nnrpd hands out to clients.

	 The  fields are, in order, the newsgroup name, the high water mark, the
	 low water mark, the count of articles in the group, the  group  status,
	 the  time (in seconds since epoch) when that newsgroup was last expired
	 (or 0 if expireover hasn't run on it yet), and the deletion  status  of
	 that newsgroup (0 if not marked for removal during the next expiration,
	 and a positive value otherwise).

	 A  particular	newsgroup can be specified with the -n option.	If -n is
	 not given, the entire master index will be dumped.

     -n newsgroup
	 Specify the newsgroup on which to act, required for the -g, -o, and  -O
	 options, and optional for the -i option.

     -o  Dump the overview information for a newsgroup, in the same format as it
	 would	be  returned  to clients but with one modification.  Appended to
	 the end of each entry will be four additional pieces of data: the arti-
	 cle number according to overview information labelled with  "Article:",
	 the  storage API token for that article labelled with "Token:", the ar-
	 rival date for that article on the server in RFC 5322 date  format  la-
	 belled  with "Arrived:", and the expiration date for that article (from
	 the Expires header field) in RFC 5322 date format if there is any,  la-
	 belled with "Expires:".

	 If  this  option  is given, the -n option must also be given to specify
	 the newsgroup on which to act.  By default, all of the overview  infor-
	 mation  for that newsgroup is dumped, but the -a option may be given to
	 restrict the dump to the information for a single article or a range of
	 article numbers.

     -O  Dump the overview information for a newsgroup in  the	format	used  by
	 overchan  as  input.	Each line will start with the storage API token,
	 the arrival timestamp in seconds since epoch, the expires timestamp  in
	 the  same  format  (or 0 if there is no Expires header field), and then
	 the overview data.

	 If this option is given, the -n option must also be  given  to  specify
	 the  newsgroup on which to act.  By default, all of the overview infor-
	 mation for that newsgroup is dumped, but the -a option may be given  to
	 restrict the dump to the information for a single article or a range of
	 article numbers.

     -p path
	 Act  on  the  overview database rooted in path, overriding the overview
	 path specified in the pathoverview parameter in inn.conf.

EXAMPLES
     Dump newsgroup-related overview information for the  overview  database  in
     /news/overview, regardless of the overview path specified in inn.conf:

	 ovsqlite-util -i -p /news/overview

     Dump overall overview information for example.test:

	 ovsqlite-util -g -n example.test

     Dump the complete overview information for example.test:

	 ovsqlite-util -o -n example.test

     Dump the overview information for articles 45 and higher in example.test:

	 ovsqlite-util -o -n example.test -a 45-

     Audit the entire overview database for any problems:

	 ovsqlite-util -A

HISTORY
     Written by Julien ELIE for InterNetNews.

SEE ALSO
     expireover(8), inndf(8), makehistory(8), nnrpd(8), ovsqlite(5).

INN 2.8.0			   2023-12-24			OVSQLITE-UTIL(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ovsqlite-util&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help