Prepare your Web Help Desk database

WHD supports the following databases:

  • Embedded PostgreSQL 
  • MySQL
  • Microsoft SQL Server Standard or Enterprise Edition with server collation set to case insensitive

If your WHD deployment requires database management features such as failover clusters, do not use the embedded PostgreSQL database included with WHD. Failover clusters are not available with the embedded PostgreSQL database.

To prevent database errors in the application, do not modify the default schemas.

If you choose embedded PostgreSQL as your primary database, WHD installs the database on the WHD server during the installation. No additional configuration is required.

If you choose non-embedded, non-default SQL Server or MySQL as your primary database, install the database engine and management tools on a separate server prior to installing WHD. See the Microsoft Docs or MySQL website for installation instructions.

Install SQL Server or MySQL on a dedicated drive with at least 20 GB of space to accommodate the database engine, management tools, help desk tickets, and ticket file attachments. You can also configure WHD to use a new SQL Server database instance on an existing server running SQL Server.

After you install the MySQL software, prepare the MySQL time zone tables.

After you install SQL Server on your database server, enable TCP/IP in SQL Server and then create and configure your SQL Server database.

Prepare the MySQL time zone tables

If you choose non-embedded, non-default MySQL as your primary database, install the database and manually populate your time zone system tables.

You can search for tickets using two new qualifiers: Due Date and First Call Resolution. These qualifiers rely on data located in four MySQL system tables:

  • time_zone
  • time_zone_name
  • time_zone_transition
  • time_zone_transition_type

These tables are created when you install MySQL in your deployment, but are not populated by default with data. WHD requires this data because the Due Date and First Call Resolution qualifier logic is implemented from within the database. If the database is missing time zone data, these qualifiers do not work properly.

When you install your MySQL database, be sure to manually populate these system tables with time zone data. See the MySQL website and follow the instructions for MySQL Server time zone support.

You can check the system tables by executing the following query:

SELECT * FROM mysql.time_zone

If the query does not create new table rows, the tables are not populated with data.