Re: BUG #6041: Unlogged table was created bad in slave node
От | Simon Riggs |
---|---|
Тема | Re: BUG #6041: Unlogged table was created bad in slave node |
Дата | |
Msg-id | BANLkTikMKmpSdBCLR2YS0d-rbJEjg1c-pA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #6041: Unlogged table was created bad in slave node (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: BUG #6041: Unlogged table was created bad in slave node
|
Список | pgsql-bugs |
On Wed, Jun 1, 2011 at 7:28 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Thu, May 26, 2011 at 12:34 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Alvaro Herrera <alvherre@commandprompt.com> writes: >>> Excerpts from Euler Taveira de Oliveira's message of jue may 26 12:00:0= 5 -0400 2011: >>>> I think we should emit the real cause in those cases, if possible (not= too >>>> much overhead). The message would be "Unlogged table content is not av= ailable >>>> in standby server". >> >>> I guess what it should do is create an empty file in the slave. >> >> Probably it should, because won't the table malfunction after the slave >> is promoted to master, if there's no file at all there? =A0Or will the >> process of coming live create an empty file even if there was none? > > Coming live creates an empty file. > >> But Euler is pointing out a different issue, which is usability. =A0If t= he >> slave just acts like the table is present but empty, we are likely to >> get bug reports about that too. =A0An error telling you you aren't allow= ed >> to access such a table on slaves would be more user-friendly, if we can >> do it without too much pain. > > I looked into this a bit. =A0A few observations: > > (1) This problem is actually not confined to unlogged tables; > temporary tables have the same issue. =A0For example, if you create a > temporary table on the master and then, on the slave, do SELECT * FROM > =A0pg_temp_3.hi_mom (or whatever the name of the temp schema where the > temp table is) you get the same error. =A0In fact I suspect if you took > a base backup that included the temporary relation and matched the > backend ID you could even manage to read out the old contents (modulo > any fun and exciting XID wraparound issues). =A0But the problem is of > course more noticeable for unlogged tables since they're not hidden > away in a special funny schema. Seems like you're trying to fix the problem directly, which as you say, has problems. At some point we resolve from a word mentioned in the FROM clause to a relfilenode. Surely somewhere there we can notice its unlogged before we end up down in the guts of smgr? --=20 =A0Simon Riggs=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 http:/= /www.2ndQuadrant.com/ =A0PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-bugs по дате отправления: