Managing database growth is one of the most critical challenges for growing businesses using Odoo. As transaction volumes increase, so does the size of the database, leading to slower query performance, longer backup times, and increased storage costs.
The Data Offload / External Archive Manager module by Techultra Solutions offers a strategic solution to this problem. It provides a robust mechanism to offload selected fields of business records from your main application database to an external PostgreSQL database. This allows organizations to keep their primary database lean and fast while retaining secure access to archived data for compliance and reporting purposes.
Why Does Your Odoo Database Need an External Archive Manager?
As your Odoo system matures, certain tables, especially those related to logs, attachments, message history, and audit trails, can grow exponentially. This growth impacts your system in several ways:
- Performance Degradation: Large tables slow down SQL queries, affecting the speed of daily operations like searching for orders, generating reports, or loading views.
- Backup & Restore Challenges: Larger databases take significantly longer to back up and restore, increasing downtime risks during maintenance or disaster recovery.
- Storage Costs: High-performance storage required for the main transactional database is often more expensive than archival storage solutions.
- Compliance & Retention: Many industries require data to be retained for years. Keeping this “cold data” in your active “hot” database is inefficient.
Key Features of the Data Offload / External Archive Manager Module
This module is designed with enterprise-grade features to handle data lifecycle management effectively:
- Selective Field Offloading: Administrators can configure exactly which models and specific fields (e.g., large text fields, binary data) should be moved to external storage.
- External PostgreSQL Integration: Seamlessly connects to an external PostgreSQL database to store offloaded data securely.
- Retrieve & Delete Actions: Offers flexibility to bring data back into the main system (Retrieve) or permanently remove it (Delete) when no longer needed.
- Advanced Data Management: Maintains a reference to the original record in the main database, ensuring that even offloaded data feels like part of the complete record.
- Automation & Scheduling: Supports automated jobs to offload or purge data based on defined schedules, reducing manual workload.
- Scheduled Offload & Purge Jobs: Configurable Cron jobs allow for regular maintenance windows (e.g., nightly or weekly) to handle data archiving.
- Improved Performance & Scalability: By physically removing data from the main database tables, the module helps maintain optimal query performance and system responsiveness.
Step-by-Step Guide: Setting Up the External Archive Manager
Step 1: Configure User Access and Permissions
Security is paramount when handling data archival and deletion. The module introduces two specific user roles to manage access control:
- External Archive Admin: Grants high-level privileges, including the ability to permanently delete data from external databases.
- External Archive Manager: Allows users to perform operational tasks like offloading and retrieving data but restricts deletion capabilities.

Step 2: Access the Data Offload Module
Once permissions are assigned, authorized users can access the dedicated Data Offload / External Archive Manager app from the Odoo dashboard. This central hub allows you to manage all configurations and connections.

Step 3: Configure External Database Connection
To establish the link between your Odoo instance and the archival database, you need to configure the connection parameters. This includes the Host, Database Name, User, and Password for the external PostgreSQL server.

Step 4: Configure Archive Model Settings
This is where you define the logic for data offloading. You can select specific models (e.g., Sales Order) and choose which fields to offload (e.g., Total, Signature, Untaxed Amount). You can also configure:
- Offload Mode: Manual, Scheduled, or both.
- Delete Rules: Automatically delete records after a set number of days.
- Batch Size: Control how many records are processed at once to manage load.

Step 5: Working with Sale Orders – Offload, Retrieve, Delete
On the record form view (e.g., a specific Sales Order), the module adds three distinct action buttons: Offload, Retrieve, and Delete. These allow users to manually manage the data lifecycle for individual records.

Step 6: Before Offload – Data Preview
Before the offload process runs, the data resides normally in the Odoo database. In the example below, the Signature field contains data that contributes to the overall record size.

Step 7: Before Offload – Field Size
The system tracks the size of the fields to be offloaded. Here, we can see the data size for ‘Total Amount’ and ‘Amount Untaxed’ before the operation, indicating the space currently occupied in the primary database.

Step 8: After Offload – Data Cleared
Once the offload button is clicked or the scheduled job runs, the selected fields are moved to the external database. In the main Odoo interface, these fields will appear empty or cleared, as the data no longer resides in the local table.

Step 9: After Offload – Size Reduction
Verifying the impact: After the process, the size of the offloaded fields in the primary database is cleared. This confirms that space has been successfully reclaimed.

Step 10: Viewing Offloaded Data in External Database
The data isn’t gone; it’s simply moved. Administrators can verify that the records have been securely written to the external PostgreSQL database tables, ensuring data integrity is maintained.

Step 11: Retrieving Offloaded Data
If a user needs to view the original data, clicking the Retrieve button fetches the information from the external archive and restores it to the Odoo record instantly. This seamless restoration is key for user experience.

Step 12: Deleting Archived Data
For compliance with data retention policies (e.g., GDPR “Right to be Forgotten”), authorized admins can permanently delete records. A confirmation pop-up ensures that deletions are intentional.

Step 13: Confirming Database Record Deletion
Once the delete action is confirmed, the system permanently removes the record from the external database, completing the data lifecycle.

Step 14: Bulk Operations – Multiple Records
For efficiency, users don’t need to process records one by one. From the list view, you can select multiple records and perform External Offload, External Retrieve, or External Delete actions in bulk.

Automation & Scheduling Capabilities
To reduce manual intervention, the module includes powerful scheduling tools. Administrators can set up Cron jobs to run offload processes during off-peak hours (e.g., weekends or overnight). Similarly, purge operations can be scheduled to automatically delete data that has exceeded its retention period, ensuring your database remains compliant without constant manual monitoring.
Batch Processing: The module supports batch processing and throttling, meaning it can break down large datasets into manageable chunks. This prevents system slowdowns during large data transfers.
Conclusion: Is the External Archive Manager Right for Your Business?
If your Odoo database is growing rapidly, leading to performance bottlenecks or increased storage costs, the Data Offload / External Archive Manager is an essential tool. It offers a secure, compliant, and efficient way to manage data lifecycle without sacrificing access to information. By automating archival processes and keeping your primary database lean, you ensure your Odoo system remains fast and scalable for years to come.
If you are planning to optimize your Odoo performance and implement a reliable data archiving strategy, now is the right time to take action. Contact us today to discuss how the External Archive Manager can be tailored to your business needs.