stored postgres into example ejemplo create mysql postgresql stored-procedures triggers

mysql - postgres - ¿Cuál es el equivalente de Blackhole?



return table postgresql (1)

Estoy comenzando un nuevo proyecto en postgreSQL (última versión ) habiendo trabajado con MySQL 5.5 por un tiempo.

En el pasado he usado mucho la tabla blackhole para simplificar el código de mi aplicación.
Me permite hacer una inserción en el código de la aplicación:

INSERT INTO blackhole1 (val1, val2, val3, val4 ... CREATE TRIGGER ai_blackhole1_each AFTER INSERT .... BEGIN INSERT INTO table1 (.... INSERT INTO table2 (.... INSERT INTO log (.....

Y tenga un desencadenador en la tabla negra, inserte los valores en diferentes tablas.

¿Qué uso en postgreSQL para reemplazar esta funcionalidad?

Sé que puedo usar un procedimiento almacenado, pero eso significa que no puedo conectar los controles de datos a un
Blackhole-mesa. Así que me encantaría el dispositivo lo más parecido posible al original de MySQL.


Con PostgreSQL 9.1 puede crear activadores de la misma manera que lo puede hacer con MySQL. Tenga en cuenta que no es posible crear activadores en vistas en versiones anteriores a la 9.1.

¿Utiliza el motor de almacenamiento BLACKHOLE para sus tablas negras en MySQL o solo es un nombre? No hay motores de almacenamiento conectables en PostgreSQL, pero puede obtener el mismo comportamiento que con el motor de almacenamiento BLACKHOLE en MySQL con los activadores INSTEAD OF en una vista en PostgreSQL. No entiendo muy bien su punto con respecto a los controles de datos : afaik no tiene ningún conocimiento de datos en una tabla BLACKHOLE (el motor de almacenamiento), pero por otro lado, por supuesto, puede mapear una entidad hibernada a una vista de base de datos

Si es una buena o mala idea usar disparadores para simplificar el código de la aplicación depende del caso de uso real. Por ejemplo, prefiero los desencadenantes sobre la lógica de la aplicación para el registro y la auditoría, ya que este enfoque ofrece una única solución para diferentes aplicaciones que se conectan a la base de datos, así como para consultas / declaraciones ad hoc por parte de un administrador. Pero desde mi experiencia, los factores desencadenantes no eliminan la complejidad, sino que simplemente cambian a la capa de la base de datos. Esto generalmente hace que una aplicación de varias capas sea más difícil de extender y mantener.