Tableau Server External Repository
The Tableau Server Repository is a PostgreSQL database that stores data about all user interactions, extract refreshes and more.
The repository can be installed locally on the same nodes as the Tableau Server or installed externally:
Local repository: The PostgreSQL Database is installed and deployed locally, meaning it is deployed along with Tableau Server.
External repository: The PostgreSQL Database is deployed externally. The external repository can be installed on Amazon RDS or Azure Database or as a stand-alone installation.
For more information about what Tableau Server Repository is in general, see:
The supported hosts for the external repository are:
- Amazon RDS (Beginning in version 2019.3)
- Azure Database (Beginning in version 2020.4)
- Stand-Alone PosgreSQL Instance (Beginning in version 2021.2).
This topic is an overview of the Tableau Server external repository.
External Repository Considerations
Both Amazon RDS and Azure Database offer better scalability, reliability, high availability and security built-in for PostgreSQL. By integrating more closely with these cloud offerings, you will be able to take advantage of these additional benefits.
If you are setting up a stand-alone PostgreSQL instance, you must set up and manage high availability and scale as needed.
Your Tableau Server must be using the following versions:
- 2019.3 or later to use with AWS
2020.4 or later to use with Azure.
For the right version of PosgreSQL to use, see Azure Database for PostgreSQL Flexible Server .
Note: Azure Database for PostgreSQL version 12 is currently in public preview.
- 2021.2 or later to use with stand-alone PosgreSQL instance. (Can be used for on-premises, Azure VM or AWS EC2 installations).
Your Tableau Server must have the Server Management Add-on keys activated.
Depending on where you are planning to host the External Repository, you will need to be familiar with one of the following:
- Amazon RDS Database setup and management.
- Azure Database setup and management.
- PosgreSQL database setup and management as a standalone installation.
The diagram below is a summarised version of the Tableau Server topology with External Repository.
The diagram below is a detailed version of the Tableau Server topology with External Repository and shows all the processes installed on each node.
Managing the External Repository
To enable this feature, you must first activate the Server Management Add-on product keys on Tableau Server. For more information, see About Tableau Server Management Add-on. If you don’t have the Server Management Add-on keys activated or if the licences is expired, you will see the following behaviour:
If you try to configure Tableau Server to use external repository during installation, you will see an error message, but you will be able to continue the installation and Tableau Server Repository will be installed locally. For single server installations, the repository is installed on the same machine as Tableau Server. For multi-node installations, the repository is installed on one of the nodes of your Tableau Server cluster.
If you are already using an external Tableau Server Repository on your Tableau Server installation, and the Server Management Add-on licence expires, the server will fail on restart. If you no longer have a valid Server Management Add-on licence, but have a valid Tableau Server licence, you will still be able to create a backup. You can also migrate the external repository to local repository which does not require the Server Management Add-on licence, to get your server up and running again. For more information on how to migrate from external repository to local repository, see Re-Configure Tableau Server Repository.
Supported Migration Scenarios
Moving your repository from local to external.
Moving your repository from external to local.
Backup and Restore
If you have only External Repository configured:
The backup and restore process remains is the same for both local and external repository and as described in the Back up Tableau Server data topic.
The backup and restore commands work in the same manner for both local and external repository. Backup in the case where Tableau Server uses external repository requires more disk space for backup, so you should keep that in mind when configuring your disk space.
The default and other supported locations for storing the backup file are the same whether it the repository is local or external.
The following exceptions apply to Tableau Servers using external repository:
Any custom user accounts that are created in the external Tableau Server repository will be included in the restore, but the passwords for the custom user accounts will not be. The passwords will have to be reconfigured after restore is complete. Custom user accounts are PostgreSQL database user accounts, used by SQL or other database client software to connect to the PostgreSQL database.
Note: These custom accounts will be disabled as a security measure, but this can be reconfigured.
Configuration and topology should not be included in the backup. For more information on how to export configuration and topology settings, see Perform a Full Backup and Restore of Tableau Server.
If you have both External Repository and External File Store configured:
You have a couple of options if you have both External Repository and External File Store configured for your Tableau Server. These options allow you to take advantage of the snapshot backup capabilities of the cloud platforms you might be using to host the External Repository and File Store. For more information, and detailed step by step instructions, see Backup and Restore with External File Store.
You have the option to require or not require TLS/SSL connections from Tableau Server to the External Repository. If you do not need to have secure connections between Tableau Server and the External Repository, you will need to configure the RDS, Azure Database or the stand-alone PostgreSQL instance to not use TLS/SSL connections, and configure Tableau Server to use the External Repository with the --no-ssl option. For more information, see tsm topology external-services repository enable.
Updating the SSL Certificate
If as part of a planned expiry of the SSL certificate of the RDS or Azure Database, or a stand-alone PostgreSQL instance, you need to update the instance with the new certificate file, you will also need to update Tableau Server settings to use the new certificate file. You can do this by downloading the latest file and running the tsm topology external-services repository replace-host command and providing the new certificate file.
High Availability Considerations
Tableau Server does not manage or set up high availability for the external repository.
- AWS: Amazon RDS offers high availability features that can be used to provide high availability and manage failover. For more information, see Amazon RDS High Availability(Link opens in a new window).
- Azure: Azure offers high availability features that can be used to provide high availability and manage failover. For more information, see Azure Database High Availability(Link opens in a new window).
- Stand-alone PostgreSQL instance: PostgreSQL offers several features that can be used to provide high availability and manage failover. Fore more information, see PosgreSQL High Availability.
Monitoring the Status of the Repository
TSM status page will show the Tableau Server external service as an additional node for your Tableau Server installation.
The topology tab indicates whether there are Tableau Server external services configured:
Tableau Server logs will not include logs from the external repository. Use the following ways to get the logs specific to your instance:
- AWS: For information on setting up logging for your Amazon RDS PostgreSQL instance, see PostgreSQL Database Log Files(Link opens in a new window).
- Azure: For information on setting up logging for your Azure Database for PostgreSQL instance, see Logs in Azure Database for PostgreSQL.
- Stand alone PostgreSQL Instance: For information on setting up logging for your stand-alone PostgreSQL instance, see Error Reporting and Logging.
You can use one of the following to create a PostgreSQL database instance:
Migrate from local to external
Migrate from external to local