On Sun, Jun 29, 2014 at 3:19 AM, Matheus de Oliveira <matioli.math...@gmail.com> wrote: > Hi Hackers, > > I have worked on that patch a little more. So now I have functional patch > (although still WIP) attached. The feature works as following: > > - Added a boolean parameter "only_temp_files" to pg_tablespace.spcoptions; > - This parameter can be set to true only during CREATE TABLESPACE, not on > ALTER TABLESPACE (I have thought of ways of implementing the latter, and I'd > like to discuss it more latter); > - On the creation of relations, it is checked if it is a > temporary-tablespace, and an error occurs when it is and the relation is not > temporary (temp table or index on a temp table); > - When a temporary file (either relation file or sort/agg file) is created > inside a temporary-tablespace, the entire directories structure is created > on-demand (e.g. if pg_tblspc/<oid>/<TABLESPACE_VERSION_DIRECTORY> is > missing, it is created on demand) it is done on > OpenTemporaryFileInTablespace, at fd.c (I wonder if shouldn't we do that for > any tablespace) and on TablespaceCreateDbspace, at tablespace.c. > > I still haven't change documentation, as I think I need some insights about > the changes. I have some more thoughts about the syntax and I still think > that "TEMP LOCATION" syntax is better suited for this patch. First because > of the nature of the changes I made, it seems more suitable to a column on > pg_tablespace rather than an option. Second because no ALTER is available > (so far) and I think it is odd to have an option that can't be changed. > Third, I think "TEMP" keyword is more clear and users can be more used to > it. > > Thoughts? > > I'm going to add the CF app entry next. Could I get some review now or after > discussion about how things are going (remember I'm a newbie on this, so I'm > a little lost)?
I got the following warning messages at the compilation. dbcommands.c:420: warning: implicit declaration of function 'is_tablespace_temp_only' indexcmds.c:437: warning: implicit declaration of function 'is_tablespace_temp_only' tablecmds.c:527: warning: implicit declaration of function 'is_tablespace_temp_only' When I created temporary tablespace and executed pg_dumpall, it generated the SQL "ALTER TABLESPACE hoge SET (only_temp_files=on);". This is clearly a bug because that SQL is not allowed to be executed. > ERROR: this tablespace only allows temporary files I think that this ERROR message can be improved, for example, for the database creation case, what about something like the following? ERROR: database cannot be created on temporary tablespace HINT: temporary tablespace is allowed to store only temporary files. Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers