Thread: partitioning system tables

partitioning system tables

From
Radovan Jablonovsky
Date:
Hello,

When postgresql system tables, (tables in pg_catalog) reach size of 10mil rows, it will slow down some DDL operations, which insert, update or delete data from pg_* tables. Is it possible to partition the system tables or is there some other way to improve performance of the DDL operations?

Sincerely,
--

Radovan Jablonovsky | SaaS DBA | Phone 1-403-262-6519 (ext. 256) | Fax 1-403-233-8046


Replicon | Hassle-Free Time & Expense Management Software - 7,300 Customers - 70 Countries
www.replicon.com | facebook | twitter | blog | contact us

We are hiring! | search jobs

Re: partitioning system tables

From
David Johnston
Date:
Radovan Jablonovsky wrote
> Hello,
>
> When postgresql system tables, (tables in pg_catalog) reach size of 10mil
> rows, it will slow down some DDL operations, which insert, update or
> delete
> data from pg_* tables. Is it possible to partition the system tables or is
> there some other way to improve performance of the DDL operations?

Is it possible now? No.

I guess the most possible partitioning scheme would be schema-based so each
schema's objects are created on their own partitioned catalogs and the
name-based search mechanism would append a where clause to the search limit
the schemas that are search based upon the current search_path.  Since the
catalogs are cluster shared having a partition be database-schema name based
would be even more appropriate.

Note I'm not even sure if catalog access in this way is done via SQL or by
some other mechanism that would not be readily partitioned.

David J.





--
View this message in context: http://postgresql.1045698.n5.nabble.com/partitioning-system-tables-tp5773152p5773155.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


Re: partitioning system tables

From
Albe Laurenz
Date:
Radovan Jablonovsky wrote:
> When postgresql system tables, (tables in pg_catalog) reach size of 10mil rows, it will slow down some
> DDL operations, which insert, update or delete data from pg_* tables. Is it possible to partition the
> system tables or is there some other way to improve performance of the DDL operations?

You can't do that.

I think the problem you should address is why there are so many rows
in a catalog table.  10 million is an awful lot.

Yours,
Laurenz Albe