Provided by: inn2_2.7.2~20240212-1build3_amd64 bug

NAME

       ovsqlite - SQLite-based overview storage method for INN

DESCRIPTION

       This method uses SQLite to store overview data.  It requires version 3.8.2 or later of the SQLite library
       (3.20.0+ recommended).

       SQLite source, documentation, etc. are available at <https://www.sqlite.org/>.  Ones of the stated goals
       of the SQLite file format are long-term stability and compatibility, which make that storage method a
       perfect choice to store overview data.

       Only one protocol version of the ovsqlite storage method currently exists, implemented since INN 2.7.0.

       This method comes with a support utility (ovsqlite-util) and a Perl module ("INN::ovsqlite_client") which
       permit accessing and manipulating overview information.  See their manual pages for more details about
       their possibilities.

INSTALLATION

       The configure script will automatically enable ovsqlite support if it finds the SQLite library.  If the
       library isn't installed in a standard location, you may have to specify the --with-sqlite3 option to help
       configure find it.  For complicated cases, you can use separate --with-sqlite3-include and
       --with-sqlite3-lib options.  Finally, if you don't want ovsqlite support even when your system has the
       SQLite library, you can use the --without-sqlite3 option.

       If you have a recent Linux installation, SQLite is most likely already installed.  You may have to
       install a separate package with a name similar to "libsqlite3-dev" to get the required header files.

       Plan on needing at least 0.93 KB for every article in your spool (not counting crossposts).  So, if you
       have 5 million articles, you'll need at least 4.65 GB of disk space for ovsqlite.  With compression
       enabled, this estimate changes to 0.4 KB per article, so you'll need at least 2 GB of disk space for 5
       million articles.  Plus, you'll need additional space for transaction logs (a few MB).

CONFIGURATION

       To select ovsqlite as your overview method, set the ovmethod parameter in inn.conf to "ovsqlite".  The
       database file will be created in the directory specified by the pathoverview parameter in inn.conf.
       Restart INN to take the change into account (after having rebuilt your existing overview with
       makehistory, if needed).

       These additional parameters are read from the ovsqlite.conf configuration file:

       cachesize
           The  SQLite  in-memory  page  cache  size  in  kilobytes.  The default value is left up to the SQLite
           library and seems to be stable at 2000 KB.

       compress
           If INN was built with zlib support and this  parameter  is  true,  ovsqlite  will  compress  overview
           records  whenever  this  saves space.  This parameter is consulted only when creating a new database.
           Enabling compression saves about 55 % of disk space on standard overview data.  The default value  is
           false.

       pagesize
           The  SQLite  database  page  size  in  bytes.   Must  be  a  power  of 2, minimum 512, maximum 65536.
           Appropriate values include the virtual memory page size and the  filesystem  allocation  block  size.
           This  parameter  is consulted only when creating a new database.  The default value is left up to the
           SQLite library and varies between versions.

       transrowlimit
           The maximum number of article rows that can be inserted or deleted in a single SQL transaction.   The
           default value is 10000 articles.

       transtimelimit
           The maximum SQL transaction lifetime in seconds.  The default value is 10 seconds.

       A  transaction  occurs every transrowlimit articles or transtimelimit seconds, whichever is smaller.  You
       are encouraged to keep the default value for row limits and, instead, adjust the time limit according  to
       how  many  articles  your  news  server  usually accepts per second during normal operation (you can find
       statistics about incoming articles in your daily Usenet reports).  Inserting or deleting a  database  row
       within  a  transaction  is  very  fast  whereas  committing a transaction is slow, especially on rotating
       storage.  Setting transaction limits too low leads to poor performance.  When rebuilding  overview  data,
       it  may  be  worth  temporarily  raising  these  values on systems with slow CPU or rotating storage (for
       instance, multiply by 10 the default values).  Performance won't change much on fast systems.

RUNNING

       All overview database access goes through the ovsqlite-server daemon.  For  ordinary  operation,  rc.news
       will  start  and  stop  it  automatically.   If  you want to touch the overview database while innd isn't
       running, you'll have to start ovsqlite-server manually first.  See ovsqlite-server(8).

HISTORY

       Initial implementation of ovsqlite written by Bo Lindbergh <2bfjdsla52kztwejndzdstsxl9athp@gmail.com> for
       InterNetNews.

SEE ALSO

       INN::ovsqlite_client(3pm), inn.conf(5), makehistory(8), ovsqlite-server(8), ovsqlite-util(8), rc.news(8).

INN 2.7.2                                          2024-03-31                                        OVSQLITE(5)