PostgreSQL Protocol: Overview

  • RavenDB implements the PostgreSQL protocol, allowing applications and libraries that use PostgreSQL, e.g. Power BI, to retrieve data from a RavenDB database.

  • To use RavenDB as a PostgreSQL server you need -

    • a license that enables the PostgreSQL Protocol.
    • To explicitly enable PostgreSQL in your settings.
  • Installing RavenDB as a secure server allows you to authenticate PostgreSQL clients, granting access only to clients that provide the proper credentials.

Enabling PostgreSQL support


  • Your RavenDB license determines which features are available.
  • Visit Studio's About page to find which features are included in your license.

    "PostgreSQL and Power BI support"

    PostgreSQL and Power BI support

  • If your current license doesn't include the PostgreSQL support, acquire one that does.


  • PostgreSQL protocol support must be explicitly enabled in your settings.
    Add this line to your server's settings.json file to enable the PostgreSQL protocol:
    "Integrations.PostgreSQL.Enabled": true
  • If your license includes the PostgreSQL Protocol Support but not Power BI Support, enable RavenDB's Experimental Features by adding this line to your server's settings.json file:
    "Features.Availability": "Experimental"

    If your license allows both features, you do not need to enable Experimental Features.

PostgreSQL Port

  • To access RavenDB, your clients need not only its URL but also its PostgreSQL Port number.
    By default, the port number is 5433.
  • To use a different port, add the following line to your settings.json file, with a port number of your choice:
    "Integrations.PostgreSQL.Port": 5433


Allowing just any client to connect to your database (via PostgreSQL or otherwise) without authentication is risky, and should in general be avoided.

If RavenDB is not set as a secure server, it will require no authentication over the PostgreSQL protocol.

To allow access only for authorized clients -

  • Set RavenDB as a Secure Server.
    This will allow RavenDB to authenticate PostgreSQL clients, in addition to many other security measures this setup provides.
  • Create PostgreSQL Credentials using RavenDB Studio.
    PostgreSQL credentials are a user name and a password, that a client would have to provide in order to access the database.