ballerinax/aws.redshift Ballerina library



Amazon Redshift is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability.

The ballerinax/aws.redshift connector facilitates seamless integration with Amazon Redshift, offering Ballerina users a convenient and expressive way to connect, query, and interact with Redshift clusters.

Setup guide

To effectively utilize the Ballerina AWS Redshift connector, you must have an Amazon Redshift cluster. Follow these steps to create an AWS Redshift cluster.

Step 1: Login to AWS console

  1. Begin by logging into the AWS Management Console.

Step 2: Navigate to Amazon Redshift and create a cluster

  1. In the AWS Console, navigate to the Amazon Redshift service. Click on the "Create cluster" button to initiate the process of creating a new Amazon Redshift cluster.

    Create cluster

    Create cluster

Step 3: Configure cluster settings

  1. Follow the on-screen instructions to configure your Redshift cluster settings, including cluster identifier, database name, credentials, and other relevant parameters.

    Basic configs

  2. Configure security groups to control inbound and outbound traffic to your Redshift cluster. Ensure that your Ballerina application will have the necessary permissions to access the cluster.

    Security configs

  3. Record the username and password you set during the cluster configuration. These credentials will be used to authenticate your Ballerina application with the Redshift cluster.


  4. Finally, review your configuration settings, and once satisfied, click "Create cluster" to launch your Amazon Redshift cluster.

Step 4: Wait for cluster availability

  1. It may take some time for your Redshift cluster to be available. Monitor the cluster status in the AWS Console until it shows as "Available".


  2. After the cluster is successfully created, copy the JDBC URL. You can find this information in the cluster details or configuration section of the AWS Console.



To use the aws.redshift connector in your Ballerina application, modify the .bal file as follows:

Step 1: Import the connector

Import ballerinax/aws.redshift and ballerinax/aws.redshift.driver modules.

import ballerinax/aws.redshift;
import ballerinax/aws.redshift.driver as _;

Step 2: Instantiate a new client

Create a redshift:Client with the values obtained in the previous steps.

configurable string jdbcUrl = ?;
configurable string user = ?;
configurable string password = ?;

redshift:Client redshift = check new (jdbcUrl, user, password);

Step 3: Invoke the connector operation

Now, utilize the available connector operations.

Read data from the database

type User record {|
    string name;
    string email;
    string state;

sql:ParameterizedQuery sqlQuery = `SELECT * FROM Users limit 10`;
stream<User, error?> resultStream = redshift->query(sqlQuery);
check from User user in resultStream
   do {
      io:println("Full details of users: ", user);

Insert data into the database

sql:ParameterizedQuery sqlQuery = `INSERT INTO your_table_name (firstname, lastname, state, email, username)
   VALUES ('Cody', 'Moss', 'ON', '', 'WWZ18EOX');`;
_ = check redshift->execute(sqlQuery);


The aws.redshift connector provides practical examples illustrating usage in various scenarios. Explore these examples.

  1. Read data from the database - Connects to AWS Redshift using the Redshift connector and performs a simple SQL query to select all records from a specified table with a limit of 10.

  2. Insert data in to the database - Connects to AWS Redshift using the Redshift connector and performs an INSERT operation into a specified table

  3. Music store - This example illustrates the process of creating an HTTP RESTful API with Ballerina to perform basic CRUD operations on a database, specifically AWS Redshift, involving setup, configuration, and running examples.


import ballerinax/aws.redshift;Copy


Released date: 2 months ago

Version: 1.0.1

License: Apache-2.0


Platform: java17

Ballerina version: 2201.8.0

GraalVM compatible: Yes

Pull count

Total: 137

Current verison: 47

Weekly downloads

Source repository


Data Warehouse

Columnar Storage




Other versions