Your Odoo database contains every invoice, sales order, customer record, and accounting entry your business has ever made. Most businesses discover their backup does not work at the exact moment they need it. This guide makes sure you are not one of them.
📋 Key Takeaways
- An Odoo database has two parts: the PostgreSQL database and the filestore. Backing up only one of them is the most common reason restore attempts fail.
- Filestore oversights account for 68% of failed Odoo restore attempts. Always choose ZIP format when backing up.
- The web interface backup times out for databases larger than 5GB. Automated server level backup is required for production databases.
- A backup that has never been restored is a backup that may not work. Test monthly.
- Before any module install, version upgrade, or major data import, take a manual backup. No exceptions.
📑 Table of Contents
What Is an Odoo Database and Why Most People Get This Wrong
Most businesses think their Odoo database is a single file they can copy and restore. It is not.
An Odoo database has two parts:
- Part 1: PostgreSQL database. Contains all transactional data: invoices, sales orders, inventory movements, accounting entries, customer records, user configurations.
- Part 2: Filestore. Contains all attachments, documents, images, and reports. Invoice PDFs, product images, uploaded contracts, email attachments.
🚨
A backup that contains only the PostgreSQL dump and not the filestore will restore the system but all documents and attachments will be missing. Filestore oversights account for 68% of failed restore attempts.
What Happens When the Odoo Database Goes Down
Real scenarios that happen to businesses on Odoo:
- Server hardware failure. VPS provider experiences a storage fault. Entire database is inaccessible.
- Accidental data deletion. A user with admin access deletes a product category that cascades to inventory records.
- Botched module installation. A bad Odoo customisation corrupts the database schema. Odoo will not start.
- Ransomware. Server is encrypted. No backup means full data loss.
- Community to Enterprise upgrade failure. Upgrade script fails midway. Database is in a partially migrated state.
💸
For a business filing GST returns, the loss of accounting data creates a compliance emergency. Recovery without a backup is not a technical problem. It is an existential one for any business live for more than 6 months.
Three Backup Methods Available for Odoo
Method 1: Odoo Web Interface (Database Manager)
- Access via
yourdomain.com/web/database/manager - Click Backup, enter master password, choose ZIP format
- Always choose ZIP. ZIP includes both the PostgreSQL dump and the filestore. The pg_dump option does not.
- Limitation: times out for Odoo databases larger than 5GB
- Use case: small databases, test environments, manual backups before a module install
Method 2: Automated Server Level Backup
- Set up via cron job using
pg_dumpfor the database andrsyncfor the filestore - Runs on schedule: daily, hourly, or before major operations
- No size limitation. Handles databases of any size.
- Backup files stored on a separate server or cloud storage. Never on the same machine.
- Recommended for any production Odoo database above 2GB
Method 3: Odoo.sh Built In Backup
- Daily database snapshots created automatically
- Accessible from the Odoo.sh dashboard. No manual configuration.
- Retention: 7 daily backups, 4 weekly backups
- Production restore requires testing on staging first
What a Proper Odoo Database Backup Plan Looks Like
✅ Minimum viable backup policy
- Daily automated backup at 2 AM when transaction volume is lowest
- Both PostgreSQL dump and filestore included in every backup
- Stored in at least two locations: local server AND cloud storage (S3, GCS, or similar)
- Tested monthly. A backup that has never been restored is a backup that may not work.
- Retention: 7 daily, 4 weekly, 3 monthly minimum
⚠️ Before any major operation: mandatory manual backup
- Before installing or upgrading any module
- Before a version upgrade
- Before importing a large dataset
- Before pushing any customisation to your live Odoo implementation
Recovery time by Odoo database size:
- Under 1GB: restore via web interface in under 5 minutes
- 1GB to 5GB: restore via terminal in 15 to 30 minutes
- Above 5GB: restore via pg_restore, 30 minutes to several hours depending on server
- Plan your recovery time objective before something goes wrong. Not after.
What Odoo Online and Odoo.sh Users Need to Know
Odoo Online (SaaS)
- Odoo manages daily backups automatically. You do not control the schedule.
- You CAN download a backup ZIP from the My Databases page.
- You CANNOT restore directly from a downloaded backup. Restoration requires a support ticket.
- This is the most common gap. Businesses download the backup but have no tested path to restore it.
Odoo.sh
- Daily automated snapshots available in the dashboard
- Backups accessible for development and staging branches
- Production restore requires care. Test restore on staging before touching production.
On Premise
- Full control and full responsibility
- If your hosting provider does not include automated backups, you must configure them yourself
- Server snapshots from your VPS provider are NOT a substitute for a database level backup. They do not capture the filestore separately and may not be restorable to a different server.
Five Questions to Ask Your Odoo Partner About Your Backup
- Is our daily backup scheduled and automated? Or is it manual?
- Does the backup include both the PostgreSQL dump AND the filestore?
- Where is the backup stored? Is it on the same server as the Odoo instance?
- When was the last backup tested by actually restoring it?
- What is the recovery time if the Odoo database goes down at 9 AM on a Monday?
⚠️
If your current partner cannot answer all five with specifics, that is the problem. Your Odoo database backup policy should be documented and testable, not assumed.
Odoo Database Health Check
Not Sure If Your Odoo Database Is Being Backed Up Correctly?
Tatvamasi Labs reviews backup configurations and puts automated backup policies in place as part of every AMC engagement.
Book a Database Health CheckFrequently Asked Questions
An Odoo database has two parts: a PostgreSQL database containing all transactional and configuration data, and a filestore containing all documents, attachments, and generated files. Both must be included in any backup for a complete restore.
Daily automated backups are the minimum for any production database. High volume businesses should consider hourly backups. A manual backup should always be taken before any module install, upgrade, or major data import.
Yes. A ZIP backup containing both the PostgreSQL dump and filestore can be restored on any server running the same or compatible Odoo version via the database manager or command line pg_restore.
The system will restore and function but all attachments, uploaded documents, generated PDFs, and product images will be missing. The filestore is not optional. It is a required component of a complete Odoo backup.
On Odoo Online, Odoo manages backups but restoration requires a support request. On Odoo.sh, backups are automatic and accessible from the dashboard. On premise deployments place full responsibility on the business or their implementation partner.
Prefer a quick chat? WhatsApp the Tatvamasi Labs team for Odoo database support.
CHAT ON WHATSAPP
📖 Related Reading
How to Train Your Team on Odoo After Go Live
Role based training, the champion model, and a structured onboarding plan for the first 90 days.
Odoo Accounting Review: What Works and What Needs a Partner
Honest review of what Odoo Accounting does out of the box and where it needs configuration.
How Odoo Apps Connect With Each Other
Why Odoo modules share one database, the integration chains that matter most, and what breaks when configured out of order.
