Monitor the size of your Odoo instance.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Track how much disk space each Odoo model uses and compare growth over time. A daily scheduled job records the sizes, and administrators can review them under Database Size.
This module records how much database space each Odoo model consumes and lets administrators follow how that usage changes over time.
A scheduled job runs once a day and takes a measurement for every model, storing the date, the model, the total model size, the total database size, the bare table size, the index size, the many2many table size, the estimated number of rows and the attachment size. Measurements are shown in a read-only list and form under the Database Size menu, where you can group by date or by model and open a model to see the individual indexes and many2many tables behind its size.
A second screen, Compare Size per Model, puts two dates side by side and shows the difference in size for each model. It defaults to showing only notable changes (more than 5 MB), and you can filter by one month ago or one year ago. A button on each line opens the detailed measurements for that model on both dates.
In General Settings, under Database Size, you can enable purging of old measurements and choose how many days of daily measurements and of monthly measurements to keep. Only users with system settings access can see these screens.
Depends on
Menus it adds
Models and fields (5)
- ir.model.size · new modelmodel, tuples (Estimated Rows), model_name, table_size (Bare Table Size), indexes_size (Index Size), relations_size (Many2many Tables Size), attachment_size, measurement_date (Date of Measurement), total_model_size, total_table_size, total_database_size, ir_model_index_size_ids (Indexes), ir_model_relation_size_ids (Relations)
- ir.model.index.size · new modelname, size, ir_model_size_id
- res.config.settings · extends an existing modeldatabase_size_purge (Purge Older Model Size Measurements), database_size_retention_daily (Keep Daily Measurements for), database_size_retention_monthly (Keep Monthly Measurements for)
- ir.model.size.report · new modelmodel, tuples (Estimated Rows), model_name, table_size (Bare Table Size), indexes_size (Index Size), relations_size (Many2many Tables Size), attachment_size, measurement_date (Date of Measurement), total_model_size, total_table_size, historical_tuples (Historical Estimated Rows), total_database_size, diff_total_model_size (Change in Total Model Size), historical_table_size (Historical Bare Table Size), historical_indexes_size (Historical Index Size), diff_total_database_size (Change in Total Database Size), historical_relations_size (Historical Many2many Tables Size), historical_attachment_size, historical_measurement_date (Historical Date of Measurement), historical_total_model_size, historical_total_table_size, historical_total_database_size
- ir.model.relation.size · new modelname, size, ir_model_size_id
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/server-tools.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0To configure this module, you can review the scheduled action called 'Take model size measurements' and check the time at which you want it to run. It should only run once a day. If it runs more often, it just updates the existing set of sizes for the day.
You may also review the Database Size settings in Odoo's general settings and enable 'Purge Older Model Size Measurements'. This task will by default delete most daily data older than a year except for the data captured on the first day of each month. These retention periods can be configured here as well.
Usage
Source · Odoo 18.0You can use this module to keep an eye on the development of the size of your Odoo instance over time. Every day, a snapshot will be taken with the full size of the database and the attachments. You can query these daily snapshots, and you can compare the current size with a size at any date of the past for which there is data.
Enable debug mode, then go to menu Settings -> Technical -> Database Size.
The data that is gathered and that is displayed are:
- Model Name - The name of the model to which the data is related
- Estimated Rows - The number of estimated rows according to the Postgresql query planner. For performance reasons, taking the data from the planner is preferred over doing an actual count, although the results may be imprecise.
- Bare Table Size - The disk usage of the model table without indexes etc.
- Index Size - The disk usage of the indexes in the model table.
- Many2many Tables Size - The disk usage of related many2many tables, including their indexes. To prevent double counts, many2many tables are only correlated with one of their tables (the largest of the two).
- Attachment Size - The disk usage of the attachments linked to the model records. Because Odoo will deduplicate attachments by content, attachments with the same content may be counted double in the attachment size of other models, but will not be counted double when linked to records of the same model more than once.
- Total Table Size - Bare Table Size + Index Size
- Total Database Size - Total Table Size + Many2many Tables Size
- Total Model Size - Total Database Size + Attachment Size
If you click on individual records, you can inspect the sizes of each index and many2many table.
All sizes are in megabytes.
In the 'Compare Size per Model' report view, you can find these data twice: once for the selected measurement date (default: today), and once for the selected comparison date (default: one month ago).
If you want to compare arbitrary dates, you can start typing the date in the search box. Be sure to enter the dates in the right format for your localization.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.