User Tools

Site Tools


how_to:restore_a_database_backup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
how_to:restore_a_database_backup [2011/05/05 11:17] – password in bold for clarity simonhow_to:restore_a_database_backup [2023/09/06 11:09] (current) paul
Line 1: Line 1:
 ======Restore a database backup====== ======Restore a database backup======
 +By default VPOP3 makes a daily backup of the VPOP3 database to a file 'DBBACK-n.DMP' in the VPOP3 installation directory (it is possible to [[reference:database backups|change this in the settings]]). These are cycled on a weekly basis so you will usually have the last seven days' worth of backups. These can be useful if the database gets damaged somehow.
 +
 If you have a valid backup of the PostgreSQL database used by VPOP3, you can restore it by performing the following steps: If you have a valid backup of the PostgreSQL database used by VPOP3, you can restore it by performing the following steps:
  
 +=====VPOP3 v5 or later=====
 +  - Open a command prompt, and go to the VPOP3 directory
 +  - If you are restoring the backup over an existing VPOP3 database (especially if the database files are damaged) you will need to DROP the database first. 
 +    - To do this, run pgsql\bin\dropdb -U postgres -p 5433 vpop3. When it prompts for the password enter the PostgreSQL master password - default **pgsqlpass**.
 +  - Run pgsql\bin\pg_restore -U postgres -C -p 5433 -v -j 4 -d postgres <filename> where <filename> is the database backup you want to restore. When it prompts for a password enter the PostgreSQL master password - default **pgsqlpass**
  
 +=====VPOP3 v3 or v4=====
   - Open a command prompt, and go to the VPOP3 directory   - Open a command prompt, and go to the VPOP3 directory
   - If you are restoring the backup over an existing VPOP3 database (especially if the database files are damaged) you will need to DROP the database first.    - If you are restoring the backup over an existing VPOP3 database (especially if the database files are damaged) you will need to DROP the database first. 
     - To do this, run pgsql\bin\dropdb -U postgres vpop3. When it prompts for the password enter the PostgreSQL master password - default **pgsqlpass**.     - To do this, run pgsql\bin\dropdb -U postgres vpop3. When it prompts for the password enter the PostgreSQL master password - default **pgsqlpass**.
-    - Then you will need to recreate the database - run pgsql\bin\createdb -E SQL_ASCII -O vpop3 -U postgres vpop3 +  - Run pgsql\bin\pg_restore -U postgres -C --d postgres <filename> where <filename> is the database backup you want to restore. When it prompts for a password enter the PostgreSQL master password - default **pgsqlpass** 
-  - Run pgsql\bin\pg_restore -U postgres -C -d vpop3 DBBACK-<number>.DMP where <number> is the latest number of the database backup made by VPOP3. When it prompts for a password enter the PostgreSQL master password - default **pgsqlpass**+ 
 + 
 +=====Keeping the old database===== 
 +Sometimes you may want to keep the old database as well (if you have sufficient disk space), for example to be able to recover messages from it that have arrived since the last good backup. 
 + 
 +In that case, run 
 + 
 +  pgsql\bin\psql -U postgres -p 5433 
 +   
 +(default password is 'pgsqlpass'
 + 
 +Then 
 +  alter database vpop3 rename to vpop3_old; 
 +   
 +Then, after restoring the new database, you can restore messages from it using the 'Restore' facility within VPOP3 (https://www.pscs.co.uk/manual/database_restore.html) by telling that to connect to the 'vpop3_old'. In recent versions of VPOP3 you can tell it to restore messages after a certain date (eg when the backup was made)
  
 +Then, after restoring all the messages from the old database, you can delete it to free up space, by running
 +  pgsql\bin\dropdb -U postgres vpop3_old
 +  
 +(default password is 'pgsqlpass')
 +  
how_to/restore_a_database_backup.1304590661.txt.gz · Last modified: 2018/11/14 10:44 (external edit)