Thread: pgsql: Rework temp_tablespaces patch so that temp tablespaces are
pgsql: Rework temp_tablespaces patch so that temp tablespaces are
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Rework temp_tablespaces patch so that temp tablespaces are assigned separately for each temp file, rather than once per sort or hashjoin; this allows spreading the data of a large sort or join across multiple tablespaces. (I remain dubious that this will make any difference in practice, but certain people insisted.) Arrange to cache the results of parsing the GUC variable instead of recomputing from scratch on every demand, and push usage of the cache down to the bottommost fd.c level. Modified Files: -------------- pgsql/doc/src/sgml: config.sgml (r1.125 -> r1.126) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.125&r2=1.126) pgsql/src/backend/commands: tablespace.c (r1.47 -> r1.48) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.47&r2=1.48) pgsql/src/backend/executor: nodeHash.c (r1.113 -> r1.114) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c.diff?r1=1.113&r2=1.114) nodeHashjoin.c (r1.90 -> r1.91) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c.diff?r1=1.90&r2=1.91) pgsql/src/backend/storage/file: buffile.c (r1.27 -> r1.28) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/file/buffile.c.diff?r1=1.27&r2=1.28) fd.c (r1.138 -> r1.139) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/file/fd.c.diff?r1=1.138&r2=1.139) pgsql/src/backend/utils/sort: logtape.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/logtape.c.diff?r1=1.24&r2=1.25) tuplesort.c (r1.76 -> r1.77) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/tuplesort.c.diff?r1=1.76&r2=1.77) tuplestore.c (r1.32 -> r1.33) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/tuplestore.c.diff?r1=1.32&r2=1.33) pgsql/src/include/commands: tablespace.h (r1.17 -> r1.18) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/tablespace.h.diff?r1=1.17&r2=1.18) pgsql/src/include/executor: hashjoin.h (r1.46 -> r1.47) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/hashjoin.h.diff?r1=1.46&r2=1.47) nodeHashjoin.h (r1.35 -> r1.36) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHashjoin.h.diff?r1=1.35&r2=1.36) pgsql/src/include/storage: buffile.h (r1.21 -> r1.22) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/buffile.h.diff?r1=1.21&r2=1.22) fd.h (r1.58 -> r1.59) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/fd.h.diff?r1=1.58&r2=1.59)
On Thu, 2007-06-07 at 16:19 -0300, Tom Lane wrote: > Log Message: > ----------- > Rework temp_tablespaces patch so that temp tablespaces are assigned separately > for each temp file, rather than once per sort or hashjoin; this allows > spreading the data of a large sort or join across multiple tablespaces. > (I remain dubious that this will make any difference in practice, but certain > people insisted.) Arrange to cache the results of parsing the GUC variable > instead of recomputing from scratch on every demand, and push usage of the > cache down to the bottommost fd.c level. Certain people say thank you. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com