Skip to main content

PostgreSQL

  • 4 minutes to read

The Dashboard Designer allows you to connect to different types of SQL databases in the Data Source Wizard. You can also use data access API to connect to the database and select data in code.

This tutorial describes how to establish a connection to a PostgreSQL database and select data.

Important

The appropriate data provider must be installed on the client machine. For information on data providers, refer to the Data Sources article.

Create a Data Source in the Data Source Wizard

To connect to a PostgreSQL database in the Dashboard Designer, follow the steps below:

  1. Click the New Data Source button in the Data Source ribbon tab.

    DataBinding_NewDataSource

  2. On the first page of the invoked Data Source Wizard dialog, select Database and click Next.

    DataSourceWizard_Database

  3. On the next page, select the PostgreSQL data provider and specify connection parameters.

    DataSourceWizard_PostgreSQL

    • Server name

      Specifies the name of the PostgreSQL database server to which the connection should be established.

    • Port

      Specifies the port used to connect to the PostgreSQL database server.

    • User name

      Specifies the user name used to authenticate to the PostgreSQL database server.

    • Password

      Specifies the password used to authenticate to the PostgreSQL database server.

    • Database

      Specifies the name of the database that contains data.

  4. Click Next and specify how to select data from the database.

    DataSourceWizard_Query

    You can choose from the following options:

    • Select the Query option and click Run Query Builder… to invoke the Query Builder. The Query Builder allows you to choose the tables/columns and passes the resulting SQL query to the SQL String editor. Subsequently, the text of the generated query returns to the Data Source wizard.

      DataSourceWizard_GeneratedQuery

      Click Finish to create the data source.

      Note

      If you apply filtering or use query parameters, click Next to specify the parameter settings.

    • Select the Stored Procedure option to select one of the stored procedures from the database.

      DataSourceWizard_SelectStoredProcedure

      Then click Next to specify the parameter settings.

  5. On the last page, you can optionally add query parameters and preview data.

    DataSourceWizard_AddQueryParameters

    Click Finish to create the data source.

Create a Data Source in Code

To create a data source that uses a connection to the PostgreSQL database, create an instance of the DashboardSqlDataSource class and follow the steps below:

  1. Specify connection parameters for the PostgreSQL database. Create the PostgreSqlConnectionParameters class object and specify the following properties:

    Assign the resulting PostgreSqlConnectionParameters object to the SqlDataSource.ConnectionParameters property.

    Note

    Alternatively, you can add a connection string with parameters to the application configuration file. Then, assign the connection string name to the SqlDataSource.ConnectionName property.

  2. Create one of the following objects to specify the query:

    • Create a SelectQuery object to specify a set of tables/columns that form a SELECT statement when you execute a query.
    • Create a CustomSqlQuery object to specify an SQL query. Use the CustomSqlQuery.Sql property to specify a custom query string.
    • Create a StoredProcQuery object to execute a stored procedure call and supply the dashboard with data.

    Add the created query to the SqlDataSource.Queries collection exposed by the DashboardSqlDataSource object.

  3. Add the created DashboardSqlDataSource object to the Dashboard.DataSources collection.

The following code snippet shows how to supply the dashboard with data from the Northwind database deployed on the PostgreSQL server:

using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
            PostgreSqlConnectionParameters postgreParams = new PostgreSqlConnectionParameters();
            postgreParams.ServerName = "localhost";
            postgreParams.PortNumber = 5432;
            postgreParams.DatabaseName = "Northwind";
            postgreParams.UserName = "Admin";
            postgreParams.Password = "password";            

            DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", postgreParams);
            SelectQuery selectQuery = SelectQueryFluentBuilder
                .AddTable("SalesPerson")
                .SelectColumns("CategoryName", "Extended Price")
                .Build("Query 1");
            sqlDataSource.Queries.Add(selectQuery);
            sqlDataSource.Fill();
            dashboard.DataSources.Add(sqlDataSource);