Re: Index build temp files

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Stephen Frost <sfrost@snowman.net>
Cc: Simon Riggs <simon@2ndQuadrant.com>, Bruce Momjian <bruce@momjian.us>, pgsql-hackers@postgresql.org
Date: 2013-01-09T02:42:59Z
Lists: pgsql-hackers
Stephen Frost <sfrost@snowman.net> writes:
> Here's what we're seeing:

> postgresql.conf:
> temp_tablespaces = 'temp_01,temp_02'

> I have temp file logging on in postgresql.conf, so here's what we see:

> LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp9221.4", size 204521472
> CONTEXT:  SQL statement "create index table_key_idx on table (key) tablespace data_n04"

> We observe the files being created under $DATA/base/pgsql_tmp/, ignoring
> the temp tablespaces and not using the tablespace where the index is
> ultimately created either.

Does the user running CREATE INDEX have CREATE permission on those
tablespaces?  (A quick way to double check is to try to SET
temp_tablespaces to that value explicitly.)  The code will silently
ignore any temp tablespaces you don't have such permission for.

			regards, tom lane