Я собираю секционированную таблицу в postgres, которая будет использоваться API, написанной в Django. У Postgres есть ряд проблем с этим, большинство из которых связано с предложением RETURNING в SQL, возвращающем NULL или созданием повторяющихся записей (возврат google postgres, если вы хотите узнать больше).Переопределение моделей .save() в Django ORM для использования хранимой процедуры?
Я считаю, что решение заключается в переопределении метода save() в ORM для использования хранимой процедуры или пользовательского SQL, но как я могу сопоставить входящие аргументы с пользовательской инструкцией SQL?
В идеале это выглядело бы как this, но вместо вызова метода super он сопоставлял бы args с пользовательским выражением SQL.
Я уже использую [стандартную стратегию разделения] (https://www.postgresql.org/docs/9.1/static/ddl-partitioning.html) в postgres. Проблема в том, что триггерная функция может либо возвращать NULL, либо NEW. Когда он возвращает NULL, предложение RETURNING также возвращает NULL. Если вы установите для него NEW, то предложение RETURNING будет работать, но данные будут вставлены в дочерние _and_ родительские таблицы! – jfarr