Home > Tableau, Tableau Server > Using Tableau’s database to build your own Tableau Server usage reports

Using Tableau’s database to build your own Tableau Server usage reports

Out of the box Tableau supplies a number of tools to monitor what is happening on the server. Often these aren’t adequate to get a good view into what’s happening on your server hence you might want to create your own custom admin views. Tableau have allowed, unsupported, querying of the underlying postgres database to create views but until recently there was very little documentation available to help, plus all of the usual ‘do so at your own risk’ warnings. Now things are beginning to change and there are many good sources of information about this database, incluing Tableau themselves now providing a lot of information about their database schema. Andre Pandre wrote up the following very useful post about the underlying Tableau postgres database, essentially bringing all the vital information into one place.

The Tableau postgres database can supply information on the actual server performance as well as what users are doing on the server. My approach to this is from a report usage perspective as, since I look after report development, that’s how my work is judged hence this post is about tracking what the users are doing.

To get started you need your Tableau desktop to be able to connect to the Tableau postgres database, which means installing the postgres driver.

To connect to the underlying Tableau database you need permission, which means sweet talking your Tableau Server administrator, if you’re not an admin yourself, to get access. Once you’re allowed you to connect fire up Tableau and connect to the database. This is what I had to enter to connect to my server, although no guarantee this will also work for your server:

Tableau PostgresSQL connection

As mentioned earlier my interest is from a report usage perspective and to get all of the data I need to supply my quick view of what my users are doing I connect to the following tables:

Tableau Postgres tables

NOTE: if you’re interested in monitoring things such as server performance connecting to these tables won’t really help you. Use the data dictionary Tableau now provide.

Next step is to create your report. This is for your usage so create whatever works for you. My version, although unsexy, does what I need it to do, showing me who’s using what, when they’re using it and how often they check it, is here:

My Tableau Server usage report

Categories: Tableau, Tableau Server Tags:
  1. January 3rd, 2015 at 23:06 | #1


    This is a nice introduction.

    For general use case, you should always use a left join between historical_events and the other hist_* tables.

    In your case this is working because you only want to monitor accesses to workbooks and views. However, these tables provides other information where an inner join won’t work (for example, user login).

  2. Dinesh
    June 24th, 2015 at 07:18 | #2

    Hello, i would like to know the workbook design. if you can share us the copy of the workbook/screenshots of how it is setup, it will be easy to replicate. I am working on a similar task to track user activity.Thanks for your assistance.

    • awatson
      June 30th, 2015 at 15:12 | #3

      I can’t share the workbook, it’s the property of my client. You’re welcome to send me a packaged workbook with the data pulled in as the post states.

  3. Paul Auen
    December 23rd, 2015 at 12:48 | #4

    Hello, I’m late to the party, but I have the need to create these types of reports but are using Tableau Online. Do you have any advice for getting access to the appropriate data structures?

    • awatson
      December 29th, 2015 at 13:48 | #5

      Hi Paul, I’m not aware this information is available for Tableau Online, although I can see how it would be useful. If you find it is available please add another comment to this post, I expect many readers would also be interested in this.

  1. No trackbacks yet.