Comments (2)
Thank. Uh, I think I will need some more time to figure out your query...
I've created a function to produce a jsonb object for a given audit_id and transaction_id. It's called generate_log_entry. You can feed this jsonb-Object into jsonb_poplulate_record function from Postgres (and pass your table as template) and you will receive the single columns. The function is quiet slow at the moment, but for a single audit_id / event_id it should be fine.
WITH get_log_entries AS (
SELECT
pgmemento.generate_log_entry(e.transaction_id,r.audit_id,'customer','public') AS entry
FROM pgmemento.row_log r
JOIN pgmemento.table_event_log e ON e.id = r.event_id
WHERE r.audit_id = (select audit_id from public.customer where id = 1)
AND e.id = 7
ORDER BY t.txid DESC
)
SELECT j.* FROM get_log_entries i
JOIN LATERAL (
SELECT * FROM jsonb_populate_record(null::public.customer, i.entry)
) j ON (true);
from pgmemento.
Great , thanks, just what i was looking for, my script had the same idea but this one seems better and it works.
from pgmemento.
Related Issues (20)
- Function register_audit_table not called (in create_table_audit)?
- Is it possible to use pgmemento.create_table_audit without tracking DDL changes?
- Renaming tables fails on Postgres 14 HOT 1
- Restoring dropped table fails with id sequences
- Cannot create new table that contains a foreign key
- `REFERENCES` constraints on table creation leads to duplicate creation of `pgmemento_audit_id` column HOT 2
- pgmemento.init generates invalid session_info HOT 4
- Full record history between two dates HOT 2
- Installation instructions are broken, what to "make"? HOT 2
- Feature request: start auditing on some columns of table HOT 4
- revert_transaction cannot revert updates with array types HOT 4
- Changing a column multiple times in one transaction breaks restoring HOT 1
- Renaming multiple times in one transaction is not recorded by auditing system HOT 6
- Fix COALESCE on restore
- 0.7.2 update error HOT 3
- Bug: some updates are not tracked when a table is updated via function calls (in the same transaction) HOT 4
- Installing to a different location HOT 2
- Any best practices for frequent bulk import? HOT 2
- Consider using transition tables to improve logging performance HOT 1
- Adding columns to a wide table breaks tracking HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pgmemento.