Search Postgresql Archives

Re: Any difference between commit/rollback when only temp tables and \copy are used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 16, 2016 at 3:56 PM, Alan Hodgson <ahodgson@xxxxxxxxxxxxxxx> wrote:
On Monday, May 16, 2016 03:41:23 PM David G. Johnston wrote:
> I have a psql script that obtains data via the \copy command and loads it
> into a temporary table.  Additional work is performed possibly generating
> additional temporary tables but never any "real" tables.  Then the script
> outputs, either to stdout or via \copy, the results.
>
> Does it matter whether I issue a ROLLBACK or a COMMIT at the of the
> transaction?  More basically: does it matter whether I issue a BEGIN?
>
> The script runs on Ubuntu inside a bash shell's heredoc.
>

Some things will complete faster if you use BEGIN to start, as PostgreSQL will
otherwise issue an implicit BEGIN and COMMIT before and after every statement.


​Non-zero but minimal compared to the I/O hit.​  The slightly more meaningful savings would be in lesser consumption of transaction id values.  Though both would probably only matter at scale.
 
If you don't need anything saved at the end it probably doesn't matter if you
use ROLLBACK or COMMIT.

​Yeah, without the front end of this being optimized for once you get to the end you've already consumed the relevant resources and I suspect that as far at the catalogs go those temp tables are just as good as rolledback on session end.

David J.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux