Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3f8062b

Browse files
committed
Reduce relcache access in WAL sender streaming logical changes
get_rel_sync_entry(), which is called each time a change needs to belogically replicated, is a rather hot code path in the WAL sendersending logical changes. This code path was doing a relcache access onrelkind and relpartition for each logical change, but we only need toknow this information when building or re-building the cachedinformation for a relation.Some measurements prove that this is noticeable in perf profiles,particularly when attempting to replicate changes from relations thatare not published as these cause less overhead in the WAL sender,delaying further the replication of changes for relations that arepublished.Issue introduced in83fd453.Author: Hou ZhijieReviewed-by: Kyotaro Horiguchi, Euler TaveiraDiscussion:https://postgr.es/m/OS0PR01MB5716E863AA9E591C1F010F7A947D9@OS0PR01MB5716.jpnprd01.prod.outlook.comBackpatch-through: 13
1 parent33fdd9f commit3f8062b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

‎src/backend/replication/pgoutput/pgoutput.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,8 +669,6 @@ static RelationSyncEntry *
669669
get_rel_sync_entry(PGOutputData*data,Oidrelid)
670670
{
671671
RelationSyncEntry*entry;
672-
boolam_partition=get_rel_relispartition(relid);
673-
charrelkind=get_rel_relkind(relid);
674672
boolfound;
675673
MemoryContextoldctx;
676674

@@ -703,6 +701,8 @@ get_rel_sync_entry(PGOutputData *data, Oid relid)
703701
List*pubids=GetRelationPublications(relid);
704702
ListCell*lc;
705703
Oidpublish_as_relid=relid;
704+
boolam_partition=get_rel_relispartition(relid);
705+
charrelkind=get_rel_relkind(relid);
706706

707707
/* Reload publications if needed before use. */
708708
if (!publications_valid)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp