Re: [Review] inherit support for foreign tables - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Re: [Review] inherit support for foreign tables
Date
Msg-id 52E7AA1A.7000008@lab.ntt.co.jp
Whole thread Raw
In response to Re: [Review] inherit support for foreign tables  (Shigeru Hanada <shigeru.hanada@gmail.com>)
Responses Re: [Review] inherit support for foreign tables
List pgsql-hackers
(2014/01/27 21:49), Shigeru Hanada wrote:
> 2014-01-27 Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>:
>> (2014/01/25 11:27), Shigeru Hanada wrote:
>> Yeah, the consistency is essential for its ease of use.  But I'm not sure
>> that inherited stats ignoring foreign tables is actually useful for query
>> optimization.  What I think about the consistency is a) the ANALYZE command
>> with no table names skips ANALYZEing inheritance trees that include at least
>> one foreign table as a child, but b) the ANALYZE command with a table name
>> indicating an inheritance tree that includes any foreign tables does compute
>> the inherited stats in the same way as an inheritance tree consiting of only
>> ordinary tables by acquiring the sample rows from each foreign table on the
>> far side.
>
> b) sounds little complex to understand or explain.
>
> Is it too big change that making ANALYZE command to handle foreign
> tables too even if no table name was specified?  IIRC, performance
> issue was the reason to exclude foreign tables from auto-analyze
> processing.  ANALYZEing large database contains local huge data also
> takes long time.  One idea to avoid unexpected long processing is to
> add option to foreign tables to mark it as "not-auto-analyzable".

Maybe I didn't express my idea clearly.  Sorry for that.

I don't think that we now allow the ANALYZE command to handle foreign 
tables when no table name is specified with the command.  I think that 
we allow the ANALYZE command to handle an inheritance tree that includes 
foreign tables when the name of the parent table is specified, without 
ignoring such foreign tables in the caluculation.  ISTM it would be 
possible to do so if we introduce a new parameter, say, vac_mode, which 
indicates wether vacuum() is called with a specific table or not.

I'll try to modify the ANALYZE command to do so on top of you patch.

Thanks,

Best regards,
Etsuro Fujita



pgsql-hackers by date:

Previous
From: Christian Convey
Date:
Subject: Re: alternative back-end block formats
Next
From: Christian Kruse
Date:
Subject: Re: [PATCH] Use MAP_HUGETLB where supported (v3)