pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
Poverty Partitioning, include indexes
2+ messages / 2 participants
[nested] [flat]

* Poverty Partitioning, include indexes
@ 2018-10-31 05:25  Simon Liesenfeld <surgeonde@yahoo.de>
  0 siblings, 1 reply; 2+ messages in thread

From: Simon Liesenfeld @ 2018-10-31 05:25 UTC (permalink / raw)
  To: pgsql-admin

Hi all,
after decades I had a look at Postgres again, last week, due to V11.Quite impressive, what has been achieved by the Postgres team since then.Especially the Performance of recursive  CTEs is superb,especially in combination with window functions, lag, lead, row_number

Before Diving into the new partitioning methods, of which I assume, that  they imply constraints on the used data model,I observed, that a  table is a file, e.g. data/base/1234/5678 .  As soon the files size exceeds1 Gig, more files will be created, 5678.1 for the next Gig, 5678.2 for another , and  so on.I had 10 of them for my CTE test table.
I brought down the pg-server, moved the ones with odd extension number to another  disk  and created 
symbolic links in  data/base/1234/ pointing to the moved files.
I restarted the pg-server, I was surprised, that everything still worked well,  and I think, I noticed some speedup of my query. I assume, that is, because pg gathers the data of the files in parallel, and two disk can shuffle more data in the same time than one disk.
Is this a recommendable practice? Is it supported by postgres to do this by CREATE TABLE, Alter table?Can somebody confirm the performance gain, does it even improve  with more disks?

Oh. I spotted another highlight in V11, The Include indexes.Tables with plenty of attributes actually speedup with ratio 
number of all attributes / number of selected attributes 
if an include index is build on the selected attributes + the PK.with small index files and no impact on the Data model.

^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: Poverty Partitioning, include indexes
@ 2018-10-31 06:47  Laurenz Albe <laurenz.albe@cybertec.at>
  parent: Simon Liesenfeld <surgeonde@yahoo.de>
  0 siblings, 0 replies; 2+ messages in thread

From: Laurenz Albe @ 2018-10-31 06:47 UTC (permalink / raw)
  To: Simon Liesenfeld <surgeonde@yahoo.de>; pgsql-admin

Simon Liesenfeld wrote:
> Before Diving into the new partitioning methods, of which I assume, that  they imply constraints on the used data model,
> I observed, that a  table is a file, e.g. data/base/1234/5678 .  As soon the files size exceeds
> 1 Gig, more files will be created, 5678.1 for the next Gig, 5678.2 for another , and  so on.
> I had 10 of them for my CTE test table.
> 
> I brought down the pg-server, moved the ones with odd extension number to another  disk  and created 
> symbolic links in  data/base/1234/ pointing to the moved files.
> I restarted the pg-server, I was surprised, that everything still worked well,  and I think,
> I noticed some speedup of my query. I assume, that is, because pg gathers the data of the files
> in parallel, and two disk can shuffle more data in the same time than one disk.
> 
> Is this a recommendable practice? Is it supported by postgres to do this by CREATE TABLE, Alter table?
> Can somebody confirm the performance gain, does it even improve  with more disks?

No, it is not recommended, it will break your database.
Don't manually mess with the table files.

If you want to place some partitions on a different disk, create a tablespace
on that disk and ALTER the tables to move them there.

Depending on your system and query, placing different partitions on
different disks can improve your performance, particularly if I/O is
the bottleneck.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com





^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2018-10-31 06:47 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2018-10-31 05:25 Poverty Partitioning, include indexes Simon Liesenfeld <surgeonde@yahoo.de>
2018-10-31 06:47 ` Laurenz Albe <laurenz.albe@cybertec.at>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox