Temp Tables in Tableau Desktop and Tableau Server

Published: 28 Mar 2017
Last Modified Date: 19 Jan 2021


When and why do Tableau Desktop and Tableau Server create temp tables?


  • Tableau Desktop
  • Tableau Server


Temp Table Creation 

A temp table is created when a workbook is opened on Tableau Desktop or  when a user signs into Tableau Server and accesses a view. These temp tables are stored in the temporary storage of the data source the view is connected to, and can be identified in the database by the #Tableau prefix. Temp tables can contain information about the connection or information necessary to prepare the view. For example: 
  • Information used to check for data source permissions 
  • Filters, such as context filters, quick filters, top n filters, and user filters
  • Data blending information

Temp Table Removal

A temp table is deleted when the corresponding database connection is closed, as long as the user who opened the workbook has Delete permissions for the database. The connection is closed when the workbook is closed on Tableau Desktop, or when the Tableau Server connection is inactive for a period of time. If Tableau Desktop or Server closes unexpectedly, the connection will be automatically closed and corresponding temp tables will be deleted from the database. 

If needed, the creation of temp tables can be managed by restricting permissions to the database. Also, you can stop the creation of temp tables by using a Tableau Data Customization (.tdc) file with the following flag: CAP_CREATE_TEMP_TABLES=NO. 
For more information on .tdc files, see Tableau Capability Customizations Reference.

Note: Restricting the creation of temp tables may have an impact on the overall performance of your workbooks and views. 
Important: Tableau does not test or support TDC files. These files should be used as a tool to explore or occasionally address issues with your data connection. Creating and maintaining TDC files requires careful manual editing, and there is no support for sharing these files.

Temp Tables for Tableau Server VizQL Process 

The Tableau Server VizQL process creates temp tables because it establishes connections to the database to load and render views. Some user sessions will share the same VizQL process, and therefore the same temp table. 

For example, a temp table created by the VizQL process will be shared among multiple user sessions if the connection is made to a database on the same server and is being accessed by the same database user.  However, the temp table will not be shared if any of these properties are different. 
Did this article resolve the issue?