Table of Contents

How to Backup VPOP3

By default VPOP3 v3 and later will automatically perform a daily backup of the database into a file called DBBACK-x.DMP, where the backup file rotates on a weekly basis (DBBACK-0.DMP is Sunday's backup, DBBACK-1.DMP is Monday's backup, etc).

In VPOP3 v5 and later, this database backup is a full backup of VPOP3. In VPOP3 v3 & v4, it is a partial backup, so you need to backup other files/data as well.

See our “Handling Database Backups” article for some hints/tips for the automated backup process.

VPOP3 version 5 and later

To backup VPOP3 version 5 and later you should:

The DBBack-<number>.DMP files contain all the settings/data, so you can just backup those files now if you wish, although we'd recommend doing a full directory (except for the VPOP3\pgsql folder) backup if possible.

You do not need to backup the registry in version 5 (as you did for earlier versions) because settings are now stored in the main database.

Manual Database Backup

If you want to make a Database backup at a specific time (rather than just the automated daily backups of the database) you can do the following:

  1. Go to a command prompt on the VPOP3 computer, and go to the VPOP3 directory.
  2. Run pgsql\bin\pg_dump -p <port number> -F c -U vpop3 -f database.dmp vpop3 ('<port number>' is usually 5433)
    e.g. pgsql\bin\pg_dump -p 5433 -F c -U vpop3 -f database.dmp vpop3
  3. At the password prompt, type vpop3pass (This assumes a standard installation, if your PostgreSQL installation is non-standard, then you may need to change this command appropriately)

This will create a file 'database.dmp' containing a backup of the database at the current state in the VPOP3 directory.

Task Scheduler

If you wish, you could create a task in Windows Task Scheduler to do this according to your own schedule.

If you are going to script the backup process, you need to automate the password. There is no command-line parameter to do this. You can either set the environment variable PGPASSWORD before running the pg_dump program, or create a pgpass.conf file.

An example .CMD file is below - you may need to edit paths in this file before using it, and test it thoroughly in your situation before relying on it for your backups

REM edit the paths in the following lines if necessary
SET VPOP3PATH=c:\vpop3
SET BACKUPPATH=c:\vpop3

SET PGDUMPPATH=%VPOP3PATH%\pgsql\bin\pg_dump.exe
SET PGPASSWORD=vpop3pass
"%PGDUMPPATH%" -F c -v -h 127.0.0.1 -p 5433 -U vpop3 -f "%BACKUPPATH%\DBBack.tmp" vpop3
if errorlevel 1 goto error
move "%BACKUPPATH%\dbback.tmp" "%BACKUPPATH%\dbback.dmp"
goto end
:error
REM Can log/report errors here
:end
SET PGPASSWORD=

Alternative Backup Procedures

Replication/point-in-time recovery/incremental backups

VPOP3 version 5 uses PostgreSQL 9.1, and stores all settings/messages in the database. This means that you can use alternative PostgreSQL backup procedures. These are outside the scope of this article, but for advanced users may give big benefits, eg hot standby servers, point-in-time-recovery (PITR), incremental backups etc.

There are articles on the PostgreSQL website describing how to set these up, for instance:

There will generally be a minute or less of downtime to do this, as, apart from the reconfiguration of the master PostgreSQL server, the rest of the process can be performed with the master PostgreSQL server running and operating normally.

See the PostgreSQL replication article for more details

(We can help set this up for you if you wish, but this will be chargeable - the current rate is £100 + VAT for a simple setup (ie replicating over a LAN with file sharing available between the two PCs). If you have a more complicated setup (eg replicating over the Internet) this can be more complex as it can involve configuring VPNs etc, so the cost may be greater)

Backing up the PostgreSQL database directly

If you are using backup software which supports VSS (Volume Snapshot Service), then you can backup the entire VPOP3 directory including the pgsql\data folder. If you do this, then upon a restore, the database service will react as if there was a power failure, and perform the recovery procedure to bring the database back to a live state. Only do this if you are certain that your backup software supports VSS. If you backup the pgsql\data folder without using VSS, then the backup will almost certainly be unusable as the various database files will have been copied at different times, and thus will be inconsistent.

Note that here, we prefer backing up the DMP backup files, but some people have used the VSS backup system and no problems have been reported. (http://www.postgresql.org/docs/9.1/interactive/backup-file.html)

You could backup both the DMP files and use a VSS backup as well. The VSS backup method will allow better incremental backups, and faster recovery, while the DMP files will give an alternative backup in case of issues.

VPOP3 version 3 or 4

To backup VPOP3 version 3 or 4 you should:

Manual Database Backup

If you want to make a Database backup at a specific time (rather than just the automated daily backups of the database) you can do the following:

  1. Go to a command prompt on the VPOP3 computer, and go to the VPOP3 directory.
  2. Run pgsql\bin\pg_dump -F c -U vpop3 -v -f database.dmp vpop3
  3. At the password prompt, type vpop3pass (This assumes a standard installation, if your PostgreSQL installation is non-standard, then you may need to change this command appropriately)

This will create a file 'database.dmp' containing a backup of the database at the current state in the VPOP3 directory.

VPOP3 version 2.x and earlier

To backup earlier versions of VPOP3 you should: