Re: Is it possible to make a streaming replication faster using COPY instead of lots of INSERTS?

From: David Johnston <polobo(at)yahoo(dot)com>
To: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
Cc: Sergey Konoplev <gray(dot)ru(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Is it possible to make a streaming replication faster using COPY instead of lots of INSERTS?
Date: 2011-12-01 00:00:34
Message-ID: E52607E6-F352-434D-86EE-78A6EC46FA64@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Nov 30, 2011, at 18:44, Craig Ringer <ringerc(at)ringerc(dot)id(dot)au> wrote:

> On 11/30/2011 10:32 PM, Sergey Konoplev wrote:
>> Would it be more compact from the point of view of streaming
>> replication if we make the application accumulate changes and do one
>> COPY instead of lots of INSERTS say once a minute? And if it will be
>> so how to estimate the effect approximately?
> Streaming replication works on a rather lower level than that. It records information about transaction starts, rollbacks and commits, and records disk block changes. It does not record SQL statements. It's not using INSERT, so you can't switch to COPY. Streaming replication basically just copies the WAL data, and WAL data is not all that compact.

I think a better way to phrase the question is whether these three types of constructs affect different results on the replication side:

Insert into tbl values(...); [times 50]
insert into tbl values (...), (...), (...), ...; [ once with 50 values ]
Copy [ with 50 input rows provided ]

I would presume the first one is badly performing but no idea whether the multi-value version of insert would be outperformed by an equivalent Copy command (both on the main query and during replication)

Though, does auto-commit affect the results in the first case; I.e., without auto-commit do the first two results replicate equivalently?

>
David J

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tomas Vondra 2011-12-01 00:03:13 Re: Limiting number of connections to PostgreSQL per IP (not per DB/user)?
Previous Message Craig Ringer 2011-11-30 23:44:45 Re: Is it possible to make a streaming replication faster using COPY instead of lots of INSERTS?