Hi

good idea. Mix of these both strategies can be a base for global temp
tables implementation.

Pavel

2014-10-31 15:53 GMT+01:00 Simon Riggs <si...@2ndquadrant.com>:

> While investigating how to reduce logging of AccessExclusiveLocks for
> temp tables, I came up with the attached patch.
>
> My feeling was "that's an ugly patch", but it set me thinking that a
> more specialised code path around temp tables could be useful in other
> ways, and therefore worth pursuing further.
>
> The patch creates a relation_open_temp(), which could then allow a
> RelationIdGetTempRelation() which could have a path that calls
> ScanPgRelation on a new catalog table called pg_class_temp, and other
> _temp catalog table accesses.
>
> So we could isolate all temp table access to specific tables. That would
> * cause less bloat in the main catalog tables
> * avoid logging AccessExclusiveLocks on temp tables
> * less WAL traffic
>
> Why less WAL traffic? Because we can choose then to make *_temp catalog
> tables
> 1. use unlogged table mechanism
> 2. use local tables inside the local buffer manager
>
> My preference would be (1) because all we need to do is change the
> catalog table oid when searching, we don't need to do anything else.
>
> --
>  Simon Riggs                   http://www.2ndQuadrant.com/
>  PostgreSQL Development, 24x7 Support, Training & Services
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

Reply via email to