Re: [HACKERS] Proposal: global index
От | Ildar Musin |
---|---|
Тема | Re: [HACKERS] Proposal: global index |
Дата | |
Msg-id | 730ecd40-c8d4-147e-c9e4-8abf9e9bd3c1@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: [HACKERS] Proposal: global index (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Proposal: global index
|
Список | pgsql-hackers |
18/08/2017 17:40, Alvaro Herrera пишет: > Ildar Musin wrote: > >> While we've been developing pg_pathman extension one of the most frequent >> questions we got from our users was about global index support. We cannot >> provide it within an extension. And I couldn't find any recent discussion >> about someone implementing it. So I'm thinking about giving it a shot and >> start working on a patch for postgres. >> >> One possible solution is to create an extended version of item pointer which >> would store relation oid along with block number and position: > I've been playing with the index code in order to allow indirect tuples, > which are stored in a format different from IndexTupleData. > > I've been adding an "InMemoryIndexTuple" (maybe there's a better name) > which internally has pointers to both IndexTupleData and > IndirectIndexTupleData, which makes it easier to pass around the index > tuple in either format. It's very easy to add an OID to that struct, > which then allows to include the OID in either an indirect index tuple > or a regular one. > > Then, wherever we're using IndexTupleData in the index AM code, we would > replace it with InMemoryIndexTuple. This should satisfy both your use > case and mine. > I found the thread about indirect indexes (https://www.postgresql.org/message-id/20161018182843.xczrxsa2yd47pnru%40alvherre.pgsql), but it seems that it haven't been updated for some time and I couldn't find InMemoryIndexTuple in the latest patch. Is there a newer version? Generally I think this may be a good idea. -- Ildar Musin Postgres Professional: http://www.postgrespro.com Russian Postgres Company
В списке pgsql-hackers по дате отправления: