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