DEV Community

Cover image for How to connect Power BI to a PostgreSQL Database
Gathuru_M
Gathuru_M

Posted on

How to connect Power BI to a PostgreSQL Database

Introduction

Power BI is a business analytics platform developed by Microsoft. It is mostly used by organizations to transform raw data from multiple sources into interactive visualizations that support data-driven decision-making.

Data sitting in various places in an organization—such as databases, Excel files, and cloud storage—can be collectively imported into Power BI to create a wholesome report. This allows data analysts and developers to extract insights that would otherwise be hidden in rows of text.

Most companies connect Power BI directly to databases for the following reasons:

  • Real-time Data Access: It gives visibility of the most current data available.
  • Automation: Reports can be developed and scheduled to refresh instantly, removing the need for manual updates.
  • Efficiency: It saves analysts time by eliminating the need to generate new reports every time the underlying data changes.

PostgreSQL is a primary example of a SQL database. These are commonly used in companies as they offer a structured and secure environment to store, manage, and retrieve large volumes of data effectively.

In this article, we will walk through connecting a Postgres Database to Power BI Desktop.


Part 1: Connecting to a Local PostgreSQL Database

To connect to a Postgres database sitting on your own machine:

  1. Open Power BI Desktop.
  2. On the Home ribbon, click Get Data, select PostgreSQL database from the list, and click Connect.

  3. Connection Details: For the Server, type localhost. This tells Power BI to look at your own machine.
    Database Name: Enter the specific name of your database (e.g., sales_db).
    Enter Connection Details

  4. Credentials: When prompted, enter the username and password you created during PostgreSQL installation.

After successful authentication, a popup appears showing the existing tables in your database. Select the tables you need and click Load to bring them into the Power BI environment.


Part 2: Moving to the Cloud (Aiven PostgreSQL)

In most real work environments, data lives in the cloud so everyone can access it from anywhere. For this guide, we will be using Aiven. Connecting from a cloud database requires a few extra security steps.

How to connect:

  1. Open Power BI Desktop. Click Get Data, select PostgreSQL database, and click Connect.
  2. Obtain Details: From your Aiven console, copy your Host, Port, Database Name, Username, and Password.
  3. Download the Certificate: In the list of connection details, download the ca.pem file by clicking the download icon.

Why SSL?
When connecting to a cloud database, we use SSL certificates. This acts as a secure tunnel for your data as it travels over the internet. SSL encrypts the connection so that malicious actors cannot "intercept" your credentials or your company's private data.

Database Details

Enter database details: Fill in the details obtained from Aiven.
Power BI Connection Details
Under server name, enter the host name and the port in the format: `host:port`

SSL Configuration: You may receive an error because Power BI cannot automatically verify the cloud's CA certificate.

Error Msssage
To resolve this, manually import the certificate to your Windows machine:

  • Press Windows + R, type certmgr.msc, and press Enter.
  • Select Trusted Root Certification Authorities, then click Certificates.
  • Right-click the folder, choose All Tasks > Import.

  • Browse to your ca.pem file (change file type to "All Files" to see it). Select it and click Next.

  • Finish the wizard. You will get a popup saying "Import Successful."
    Windows cerificates page
    Restart Power BI to apply the changes. Your connection will now be successful, and your tables will be ready for loading.


Part 3: Building the Data Model

Once your tables (Customers, Products, Sales, and Inventory) are loaded, they appear in the "Data" pane. Now you must connect them.
Loaded Data on Power BI
Data Modeling is the process of telling Power BI how these tables relate to one another. For example, the Customer_ID in your Sales table should link to the ID in your Customers table.

  • The Benefit: By creating these relationships, you can filter a chart by "Customer Name" and see exactly what "Products" they bought across all "Sales."

Power BI often creates these automatically, which you can verify in the Model View pane.

Relationships on Power BI

Conclusion: Why SQL is a Superpower for Power BI Analysts

You might wonder, "If I have Power BI, do I still need SQL?" The answer is yes. SQL skills are important because they allow you to:

  • Filter at the source: Instead of bringing 1 million rows into Power BI and slowing it down, you can write a SQL query to only bring in the specific data you need.
  • Data Preparation: You can perform complex aggregations and clean up messy data before it even reaches your dashboard.

Mastering the connection between SQL and Power BI is what turns a basic report into a powerful, automated business tool.

Top comments (0)