New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TempDirectories parameter in firebird.conf ignored by global temporary tables [CORE1241] #1665
Comments
Commented by: @dyemanov What's your TempDirectories value? |
Commented by: John Franck (bozzy) I have a partition mounted in /data and a 'temp' directory inside this partition. In firebird.conf I have: TempDirectories = /data/temp This is because my / (root) partition is quite small and all the data is located in /data, which is much bigger. Note that in /data I have a 'db' directory inside which there are my databases and in firebird.conf I have also: DatabaseAccess = Restrict /data/db I don't know if this could be useful for debugging. |
Commented by: @dyemanov The problem is that temporary tables cannot support the configured directory size limit. Imagine a setup: TempDirectories = /data/temp1 5000000000; /data/temp2 Would you agree with FB storing 20GB of temp tables in /data/temp1 regardless of your configuration? |
Modified by: @dyemanovassignee: Vlad Khorsun [ hvlad ] |
Commented by: John Franck (bozzy) Well, no, it will be probably unacceptable. But in my opinion it's equally unacceptable that FB is storing 20GB of temp tables in /tmp, that's located on a 3GB partition dedicated to the OS. My considerations are obviously based on my own conditions, but I would prefer FB to store temp tables where I've told him to store temp data, maybe regardless of my imposed size limit if it's an issue. |
Commented by: @dyemanov You could just set up the FIREBIRD_TMP envvar to point to /data/temp. It will work for both sorting and temp-table files. |
Commented by: John Franck (bozzy) I guessed TempDirectories and FIREBIRD_TMP was the same, the first overwriting the last. So if it's not like that your solution is ok for me. Thank you. |
Modified by: @pcisarWorkflow: jira [ 12002 ] => Firebird [ 15464 ] |
Commented by: @livius2 Somehow i miss this report but it is vital. Consider multiple firebird instances for different purposes. User must have choice where to write from particular instance. I suppose it is simple to fix. |
Commented by: @romansimakov It seems we stepped onto it. |
Commented by: @livius2 Do not suppose that team can have objections with this :) I suppose PR is more then welcome :) |
Commented by: @dyemanov If it's going to be a separate setting, then supposedly it should specify a single directory, not a list (and thus be named TempTableDirector*y*). |
Commented by: @livius2 In this days one directory is more than enough i suppose. I stop using multiple dirs for TempDirectories a couple of years ago. As now storage is so big even this fast one.. |
Commented by: @romansimakov I agree. Especially if new config option is overriding FIREBIRD_TMP that is a single dir. |
Commented by: John Franck (bozzy) I agree with the solution of adding a separate configuration option (I asked for it 13 years ago :D ), "TempTableDirectory" or "TempTablesDirectory" (note the plural on Tables) could be fine. BTW, I'm not using FIREBIRD_TMP variable anymore, with the storage available nowadays I've got plenty of space on /tmp directory, so this default is OK for temp tables (for my usage scenarios). |
::: test details ::: |
Submitted by: John Franck (bozzy)
Is duplicated by CORE1809
Votes: 3
Files created for Global Temporary Tables are located on linux default temporary directory (/tmp), ignoring the setting imposed by TempDirectories parameter in firebird.conf.
The text was updated successfully, but these errors were encountered: