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, Azure Database, Google Cloud 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
- Google Cloud PogreSQL Instance - Beginning in version 2021.4
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.
Cloud Platform Considerations
When using a cloud platform to host your external repository, you have the option of running PostgreSQL instances on hosted infrastructure and managing them yourself or choosing the fully managed service option.
- Self-managed: Setting up and managing PostgreSQL instances on hosted infrastructure yourself. For example, if you are using AWS as your cloud platform, you can use EC2 instances to run, manage and maintain PostgreSQL instances.
- Fully managed: Select a fully managed service. For example, if you are using AWS as your cloud platform, you can use the RDS option to host your external repository.
One of the key considerations when making a choice between self-managed and fully managed is that in a self-managed option you have the most control but with it comes the responsibility of maintaining the VMs and many database administrative tasks. A fully managed option offers ease of setup, configuration management and maintenance.
Here is a more comprehensive list of things to consider when choosing between the two:
- Setup and maintenance requirements.
- High availability and disaster recovery options
- Performance, Scalability and Monitoring capabilities
- Security maintenance
- Operational costs, service costs, personnel costs.
Here is an example of how the two options can be compared for Azure on the Microsoft site: Choose the right PostgreSQL server option in Azure,
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 .
- 2021.2 or later to use with stand-alone PosgreSQL instance. (Can be used for on-premises, Azure VM or AWS EC2 installations).
- 2021.4 or later to use with Google Cloud for both PosgreSQL Instance or a stand-alone PosgreSQL on Google Cloud VM.
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.
- Google Cloud PosgreSQL instance setup and management
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 use encrypted connections, you must configure the External Repository to allow unencrypted connections, and use the -
-no-ssl option when you configure the External Repository for Tableau Server. For more information, see tsm topology external-services repository enable.
If you want to enable or disable SSL at a later time, post installation, use the tsm security repository-ssl enable or tsm security repository-ssl disable. This option is available starting in 2021.4.
Updating the SSL Certificate
If as part of a planned expiry of the SSL certificate of the RDS or Azure Database, Google Cloud PosgreSQL instance 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 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 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).
- Google Cloud: Google Cloud offers features that can be used to provide high availability and manage failover. For more information, see Google Cloud High Availability.
- 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.
- Google Cloud: For information on how to view and query logs for your PosgreSQL instance, see Cloud SQL logging.
- 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