Re: [PATCH 10/16] Introduce the concept that wal has a 'origin' node
От | Kevin Grittner |
---|---|
Тема | Re: [PATCH 10/16] Introduce the concept that wal has a 'origin' node |
Дата | |
Msg-id | 4FE17DA002000025000487AE@gw.wicourts.gov обсуждение исходный текст |
Ответы |
Re: [PATCH 10/16] Introduce the concept that wal has a
'origin' node
|
Список | pgsql-hackers |
> Heikki Linnakangas wrote: > I don't like the idea of adding the origin id to the record header. > It's only required in some occasions, and on some record types. Right. > And I'm worried it might not even be enough in more complicated > scenarios. > > Perhaps we need a more generic WAL record annotation system, where > a plugin can tack arbitrary information to WAL records. The extra > information could be stored in the WAL record after the rmgr > payload, similar to how backup blocks are stored. WAL replay could > just ignore the annotations, but a replication system could use it > to store the origin id or whatever extra information it needs. Not only would that handle absolute versus relative updates and origin id, but application frameworks could take advantage of such a system for passing transaction metadata. I've held back on one concern so far that I'll bring up now because this suggestion would address it nicely. Our current trigger-driven logical replication includes a summary which includes transaction run time, commit time, the transaction type identifier, the source code line from which that transaction was invoked, the user ID with which the user connected to the application (which isn't the same as the database login), etc. Being able to "decorate" a database transaction with arbitrary (from the DBMS POV) metadata would be very valuable. In fact, our shop can't maintain the current level of capabilities without *some* way to associate such information with a transaction. I think that using up the only unused space in the fixed header to capture one piece of the transaction metadata needed for logical replication, and that only in some configurations, is short-sighted. If we solve the general problem of transaction metadata, this one specific case will fall out of that. I think removing origin ID from this patch and submitting a separate patch for a generalized transaction metadata system is the sensible way to go. -Kevin
В списке pgsql-hackers по дате отправления: