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

Commit5ddfebd

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 parentf9db153 commit5ddfebd

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
@@ -1008,8 +1008,6 @@ static RelationSyncEntry *
10081008
get_rel_sync_entry(PGOutputData*data,Oidrelid)
10091009
{
10101010
RelationSyncEntry*entry;
1011-
boolam_partition=get_rel_relispartition(relid);
1012-
charrelkind=get_rel_relkind(relid);
10131011
boolfound;
10141012
MemoryContextoldctx;
10151013

@@ -1041,6 +1039,8 @@ get_rel_sync_entry(PGOutputData *data, Oid relid)
10411039
List*pubids=GetRelationPublications(relid);
10421040
ListCell*lc;
10431041
Oidpublish_as_relid=relid;
1042+
boolam_partition=get_rel_relispartition(relid);
1043+
charrelkind=get_rel_relkind(relid);
10441044

10451045
/* Reload publications if needed before use. */
10461046
if (!publications_valid)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp