У меня есть триггеры PostgreSQL, которые я бы хотел написать, которые используют разумное количество CPU, а затем NOTIFY
, если произошел сложный шаблон. Эти триггеры динамически создаются приложением. (Функция, которую он вызывает, не обязательно должна быть динамической, но только аргументы, переданные триггеру.)PostgreSQL-реплика, где я могу создавать триггеры?
Возможно ли установить поточную репликацию PostgreSQL, чтобы был основной сервер, где я выполняю все мои " «нормальные» записи и набор прочитанных реплик, к которым я почти полностью подключаюсь, чтобы читать ... но где я также могу создавать триггеры, которые работают только на прочитанной реплике? т. е. это приведет к перегрузке загрузки ЦП от стартера к потенциально большому количеству реплик. (Я бы потенциально использовать pg_temp
для функции, как описано в this answer.)
Когда я пытаюсь это, например, с Amazon RDS репликами для чтения, любая попытка создать даже pg_temp.*
функции на чтение реплики Unsurprisingly терпит неудачу с cannot execute CREATE FUNCTION in a read-only transaction
, но, возможно, есть ли другой способ настроить поточную репликацию, чтобы это было возможно?