Postgres now has pluggable table storage. Phew, this took longer than planned. Brought to you in collaboration with Haribabu Kommi, Alvaro Herrera, Alexander Korotkov, David Rowley, Dimitri Golgov and others! https://www.postgresql.org/docs/devel/tableam.html … https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/access/tableam.h;hb=HEAD …
-
Show this thread
-
To be clear, there's still just the venerable heap storage built into postgres. But within some constraints, new types of table storage can now be added without modifying core postgres. Off to do some mop-up work now ;)
1 reply 5 retweets 23 likesShow this thread -
-
Replying to @zombodb
There's "generic WAL records" (linked to at the bottom of the first page above). They're commonly a bit bigger than non-generic WAL records though. Latter needs to patch rmgrlist.h. Or you implement something not needing WAL.
1 reply 0 retweets 1 like -
Replying to @AndresFreundTec
Sorry if I sound dumb but aren’t “generic WAL records” tied to heap block changes?
2 replies 0 retweets 0 likes -
Replying to @zombodb
I'm not sure I understand. So far generic WAL records were really only used to implement indexes in extensions. And they were usable for anything AM that goes through shared buffers. Could you expand a bit on what you're precisely wondering about? https://www.postgresql.org/docs/devel/generic-wal.html …
1 reply 0 retweets 0 likes -
Replying to @AndresFreundTec
Generic WAL assumes the IAMAPI is writing to local disk via PG Bufrers.
@zombodb doesn’t. So I’m asking if that assumption holds true for WAL on HeapAPI extensions too.1 reply 0 retweets 0 likes -
Replying to @zombodb
I don't know what HeapAPI is. Do you mean tableam? IAMAPI is, I assume, the index AM? And yes, generic WAL records assume that the data goes through shared buffers.
1 reply 0 retweets 0 likes -
Replying to @AndresFreundTec
Sorry. Again. Please excuse me being dumb/uninformed. By HeapAPI I meant tableam. Does the tableam also assume local storage via PG buffers as it relates to WAL? I think that’s my question (if it makes sense).
1 reply 0 retweets 0 likes
No, tableam does not assume that. In fact, it doesn't know anything about WAL logging or buffers, or some such. That's all for a specific AM to "solve" - but such AMs can reuse other parts of postgres (like shared buffers, visibility maps, generic WAL records, etc0.
-
-
Replying to @AndresFreundTec
Thanks. This clears up a lot. In a lot of ways this makes total sense. On the other hand it’d be cool to be able to record logical changes to the AM and then let the AM figure that out during replay. I’m just the idea guy tho. Anyways, thanks!
1 reply 0 retweets 0 likes -
Replying to @zombodb @AndresFreundTec
Sorry. Logical WAL-changes to the AM.
0 replies 0 retweets 0 likes
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.