Re: [HACKERS] Re: Is anything preventing us from allowing write toforeign tables from standby?

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: [HACKERS] Re: Is anything preventing us from allowing write toforeign tables from standby?
Дата
Msg-id CAB7nPqT5P2yrfd9_M6_JKJpVWL0saUduK-RUXBVFNv4ZjPLw+g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] Re: Is anything preventing us from allowing write toforeign tables from standby?  (Craig Ringer <craig@2ndquadrant.com>)
Ответы Re: [HACKERS] Re: Is anything preventing us from allowing write toforeign tables from standby?  (Wolfgang Wilhelm <wolfgang20121964@yahoo.de>)
Список pgsql-hackers
On Wed, Oct 18, 2017 at 9:14 AM, Craig Ringer <craig@2ndquadrant.com> wrote:
> Superficially at least, it sounds like a good idea.

Indeed.

> We should only need a virtual xid when we're working with foreign
> tables since we don't do any local heap changes.
>
> How's it work with savepoints?

That's one thing to worry about.

At least to me, it feels like cheating to allow an INSERT query to
happen for a transaction which is read-only actually read-only because
XactReadOnly is set to true when the transaction starts. I am
wondering if we should extend BEGIN TRANSACTION with a sort of "WRITE
ONLY FOREIGN" mode, which allows read queries as well as write queries
for foreign tables, because we know that those will not generate WAL
locally. This way it would be possible to block as well INSERT queries
happening in a transaction which should be intrinsically read-only.

+         if (rte->relkind == 'f')
+             continue;
Better to use RELKIND_FOREIGN_TABLE here.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: [HACKERS] [COMMITTERS] pgsql: Implement table partitioning.
Следующее
От: David Rowley
Дата:
Сообщение: [HACKERS] A handful of typos in allpaths.c