Opened 12 months ago

Last modified 12 months ago

#34843 closed New feature

Feature request: Support postgres table storage options — at Initial Version

Reported by: Anton Shutik Owned by: nobody
Component: Migrations Version: 3.2
Severity: Normal Keywords: postgres, autovacuum, storage options, django migrations
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

There is a list of storage options (https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETABLE-STORAGE-PARAMETERS) that can be applied when creating a table in postgres database. So, since django manages database schema, it would be nice to extend it to support these storage options.

It might look like:

class MyModel(db.Models):
  
    #  fields go here
  
    class Meta:
      storage_options = {
          "autovacuum_vacuum_scale_factor": 0.01,
          "autovacuum_vacuum_threshold": 1000
      }

and that would produce migration which eventually will run sql like this:

CREATE TABLE mymodel WITH (autovacuum_vacuum_scale_factor = 0.01, autovacuum_vacuum_threshold = 1000);

For now it could be done with RunSQL(sql='ALTER TABLE .... WITH (...);') migration, but it would be better to have the settings on the model class itself for better visibility and managed by django.

What do you think ?

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top