Re: Proposal: Create index on foreign table

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: Shigeru Hanada <shigeru(dot)hanada(at)gmail(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: Create index on foreign table
Date: 2012-03-19 05:34:01
Message-ID: 4F66C549.10706@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

(2012/03/16 22:51), Shigeru Hanada wrote:
> 2012/3/16 Etsuro Fujita<fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>:

>> The index creation is supported for a flat file such as CSV and a remote
>> table on a RDB e.g., Postgres using CREATE INDEX.

> IMHO CREATE INDEX for foreign tables should have general design,
> not specific to some kind of FDWs.

OK. I'll try to design CREATE INDEX more generally, though I'll at
first focus on those two.

>> I'd like to build the index physical data file for a flat file using the
>> index access method of regular tables (ie btree, hash, gin, gist, and
>> spgist) based on the following transformation between the TID and the
>> file offset to some data in the file:
>>
>> block_number = file_offset_to_some_data / BLCKSZ
>> offset_number = file_offset_to_some_data % BLCKSZ
>
> Indeed these information would help searching data stored in local
> files. But, again, it seems too specific to file-based FDWs. I'd
> suggest separating basic general design and implementation by FDWs.
> The design you shown here seems indexed-file_fdw to me...

This transformation is for a flat file. I think an FDW author who wants
to build the index physical data file for an external data may choose
any transformation that defines a one-to-one mapping into the TID space.

Best regards,
Etsuro Fujita

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2012-03-19 05:35:49 Re: Proposal: Create index on foreign table
Previous Message Shigeru Hanada 2012-03-19 04:44:18 Re: Why does exprCollation reject List node?