Re: Replication identifiers, take 4
От | Andres Freund |
---|---|
Тема | Re: Replication identifiers, take 4 |
Дата | |
Msg-id | 20150421120856.GG14483@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Replication identifiers, take 4 (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Replication identifiers, take 4
Re: Replication identifiers, take 4 |
Список | pgsql-hackers |
On 2015-04-20 10:28:02 +0200, Andres Freund wrote: > On 2015-04-20 11:26:29 +0300, Heikki Linnakangas wrote: > > I just realized that it talks about "replication identifier" as the new > > fundamental concept. The system table is called "pg_replication_identifier". > > But that's like talking about "index identifiers", instead of just indexes, > > and calling the system table pg_index_oid. > > > > The important concept this patch actually adds is the *origin* of each > > transaction. That term is already used in some parts of the patch. I think > > we should roughly do a search-replace of "replication identifier" -> > > "replication origin" to the patch. Or even "transaction origin". > > Sounds good to me. I'm working on changing this (I've implemented the missing WAL bits). I'd like to discuss the new terms for a sec, before I go and revise the docs. I'm now calling the feature 'replication progress tracking'. There's "replication origins" and there's progress tracking infrastructure that tracks how far data from a "replication origin" has replicated. Catalog wise there's an actual table 'pg_replication_origin' that maps between 'roident' and 'roname'. There's a pg_replication_progress view (used to be named pg_replication_identifier_progress). I'm not sure if the latter name isn't too generic? Maybe pg_logical_replication_progress? I've now named the functions: * pg_replication_origin_create * pg_replication_origin_drop * pg_replication_origin_get (map from name to id) * pg_replication_progress_setup_origin : configure session to replicate from a specific origin * pg_replication_progress_reset_origin * pg_replication_progress_setup_tx_details : configure per transaction details (LSN and timestamp currently) * pg_replication_progress_is_replaying : Is a origin configured for the session * pg_replication_progress_advance : "manually" set the replication progress to a value. Primarily useful for copying valuesfrom other systems and such. * pg_replication_progress_get : How far did replay progress for a certain origin * pg_get_replication_progress : SRF returning the replay progress for all origin. Any comments? Andres
В списке pgsql-hackers по дате отправления: