Search results

Connecting Bold BI to PostgreSql data source

The Bold BI Dashboard Designer supports connecting the PostgreSql database using the SQL Live Query (C# API).

Supported Server Versions: PostgreSQL (v9.5, v9.6, v10, v11, and v12)

Choose PostgreSql data source

To configure the PostgreSql data source, follow these steps:

  1. Click Data Sources in the configuration panel to add a new data connection.

    Data source icon

  2. Click CREATE NEW to launch a new connection from the connection panel.

  3. Select the PostgreSql connection in the connection panel.

    Choose data source

NOTE: You can also create a data source from the home page by clicking the Data Sources menu from left menu panel and Create Data Source from the data sources page.

Choose data source

Connect to PostgreSql

Create PostgreSql data source

After clicking the data source, the NEW DATA SOURCE configuration panel opens. Follow the given steps to create a PostgreSql data source:

  1. Enter a name and description (optional) for the data source.

  2. Enter a valid PostgreSql server or host name in the ServerName text box.

  3. Enter a valid PostgreSql username in the UserName text box.

  4. Enter a valid PostgreSql password in the Password text box.

  5. Enter a valid PostgreSql database in the Database text box.

  6. To connect PostgreSql with SSL connection, enter the connection string sslmode=Require;TrustServerCertificate=true in Additional connection parameters text box.

    PostgreSql Connection

    To kill the created sessions, enter the connection string Maximum Pool Size=1;Connection Idle Lifetime=45;Command Timeout=15 in Additional connection parameters text box.

    Kill sessions

There are two connection types available in a data source:

* Live mode
* Extract mode

Live mode connection

In this connection type, a data source is directly fetched from source. Choose the Live mode option for this connection.

Live Connection

Data Preview

  1. Click Connect to connect the PostgreSql server with configured details.

The schema represents the collection list retrieved from the PostgreSql server. This dialog displays a list of schemas in treeview and their corresponding values.

Treeview schema

  1. Now, the data design view page with the selected table schema opens. Drag the table.

    Query designer

    You can use the Code View option for passing a query to display data.

    Codeview mode

  2. Click Save to save the data source with a relevant name.

Extract mode connection

In this connection type, a data source is fetched from source periodically. Choose the Extract mode option for this connection.

Extract Connection

NOTE: Initially, data will be extracted based on the Max Rows selected in order to proceed with data model creation. The remaining records (there is no limit) will be extracted during the next refresh.

Max rows option

Refresh Settings

Steps to configure the data source refresh settings:

  1. Click Refresh Settings in the configuration panel.

    Refresh Setting

  2. Select the recurrence type, recurrence start, and end dates in the Refresh Setting dialog box.

    • Data refresh can be scheduled hourly, daily, weekly, and monthly.
    • Application Time Zone is displayed below the date picker. Start time of the schedule is converted to the client Time Zone and shown at the right-side for users convenience. After selecting, click Schedule.

    Save Schedule

Preview and data import

  1. Click Connect to connect the PostgreSql server with configured details.
  2. The Extract data dialog opens. This dialog has two modes of connection either via Table or Custom query. Under custom query option, write the required query and click Connect.

Under Table option, this dialog displays list of tables and views in treeview. Select the required table(s) or view(s) from treeview to use in the designer. Incremental Update can be performed in both tables and views. The option is available for configuring incremental refresh column for the selected items in the right-side panel. * The table must have a primary key column and date column to configure the incremental refresh option. * The Views must have a date column to configure the incremental refresh option and unique column(s) is optional which is used to update the modified records.

If you configure it, then the data source will work on Incremental update, otherwise works on Full load concept. And finally click Connect.

Preview

  1. Now, the data design view page with the selected table schema opens. Drag the table.

    Query Editor

    You can use the Code View option for passing query to display data.

    Codeview mode

  2. Click Save to save the data source with a relevant name.

NOTE: In future, you can edit the connection information for both live and extract mode connections using the Edit Connection option.

Connecting Bold BI to PostgreSQL Data Source via REST API

Prerequisites

Supported Server Versions: PostgreSQL (v9.5, v9.6, v10, v11, and v12)

Type while creating the data source needs to be postgresql.

Rest API - v4.0

Modes

Through the REST API, only the live mode data source can be created and edited.

Parameters for creating Data Source

Parameters Details
Servername

required
`string`

Server name or Host name of the connection
Port

required
`string`

Port number used to connect to the postgresql

Username

required
`string`

A valid username for the connection
Password

required
`string`

A valid Password for the connection
Database

required
`string`

database which needs to be connected
Schemaname

required for table mode
`string`

Enter a valid Schemaname
Tablename

required for table mode
`string`

Enter a valid Tablename
Query

required for code view mode
`string`

Enter a valid Query
AdvancedSettings

optional
`string`

Additional optional connection parameters can be provided. By default, it is empty.
CommandTimeout

optional
`string`

Enter a valid Timeout for connection. By default, it is 300
IsSshConnection

optional
`boolean`

Enable or disable SSH. By default, it is false.
SshServerName

optional
`string`

Enter a valid Ssh Server name. By default, it is empty.
SshPort

optional
`integer`

Enter a valid Ssh Port number.
SshUserName

optional
`string`

Enter a valid Ssh Username. By default, it is empty.
SshPassword

optional
`string`

Enter a valid Ssh Password. By default, it is empty.
Expressions

optional

`Array of Objects`



Parameters for adding expressions when creating Data Source

Parameters Details
Name

required

`string`

Name of the Expression

Expression



required

`string`

Expression


Parameters for editing Data Source

NOTE: For editing Data Source via API. All the parameters are optional. The parameter which needs to be changed can be provided.

Parameters for modifying expressions when editing Data Source

Parameters Details
Name

required

`string`

Name of the Expression

Expression



required

`string`

Expression


Action



optional

`string`

add/delete/edit

By default, it is add.

NewName



optional

`string`

For renaming the expression. This is applicable only if the Action is edit

Connection Sample for Table Mode

For creating connection:

"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
}]
}

For editing connection:

"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)",
"NewName" : "Sum",
"Action": "edit"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
"Action": "delete"
}]
}

NOTE: Through Rest API, the data source can be created or edited with only one table. If different table is provided in edit data source, the table will be replaced. The widgets will be retained only if the schema is same as the previous table.

Connection Sample for Code View Mode

"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Query": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
}]
}

Data Transformation

Editing a Data Connection

Dashboard Designer Walkthrough