Stepwise guide for Installing and Running PostgreSQL using Docker

Stepwise guide for Installing and Running PostgreSQL using Docker

Share This

Installing, running, and managing postgres in a local machine for application development is not difficult anymore. There is a simple way to get started with the installation and configuration right away using Docker. Through Docker, you can skip all the complex installation steps otherwise required for using PSQL in local development. You can now kick-start the development of postgres based applications in just a few seconds.

To get started, follow these steps:

  1. Install docker
  2. Create a postgres server within a docker container (which can be accessed by GUI or other applications needed for development).
  3. Make the postgres container accessible through CLI.
  4. Install the PgAdmin4 browser version to access the Postgres server from GUI.

Install and Configure PSQL using Docker:

Run the following command in Linux, Windows, or Mac machines from the terminal or command-prompt to pull PSQL from docker-hub.

docker run --name postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=somePassword -d postgres

In the above command replace

  • postgresql-container with a preferable container name if necessary.
  • somePassword with a password to authenticate and connect to the postgres (in application with connection string as well as the PG-admin viewer).

You will be able to see a new container created and running at 0.0.0.0:5432. To verify, use the command:

docker ps -a

The postgres server is now running in the IP of your local machine. The PostgresQL server is now ready to use for development.

Install PG-admin using Docker:

Download the pgAdmin-4 browser version from docker-hub using the following command.

docker run --rm -p 5050:5050 thajeztah/pgadmin4

Now manage your postgres server from the browser by launching http://localhost:5050.

To connect the PSQL server in pgAdmin

To connect the PSQL server in pgAdmin:

Enter the credentials to save and manage PSQL via GUI.

Host – The IP address of your machine

Password – Password used while creating the PSQL server with docker

To connect the PSQL server in pgAdmin

Connecting to the PSQL server via CLI

The steps below are to connect to the psql server from CLI

  1. Find the docker-container-id in which the postgres is running using the below command. docker ps -a
  2. Run the below command to enter into the container (with the ID from step-1).

    docker exec -it <PSQL-Container-ID> bash

  3. Authenticate to start using as postgres user.  psql -h localhost -p 5432 -U postgres -W
  4. Enter the password used while creating the PSQL server container.

Connecting to the PSQL server via CLI

Connecting to the PSQL server via application :

(example: JavaScript)

const { Client } = require('pg');
let client = new Client({

  connectionString: "postgresql://postgres:test1234@192.168.225.86:5432/postgres"

});

const connectDB = async () => {

  try {

    console.log('Connect to Postgres ...');

    client.connect();

    await new Promise((resol, rej) => {

      client.query('Select now() as run_at;', (err, res) => {

        if(err) {

          console.log(err);

          reject(err);

        } else {

          console.log(`Run at date-time : ${res.rows[0].run_at}`);

          resol(res.rows[0].run_at);

        }

      })

    });

    await client.end();

    console.log('Execution Completed ...');

  } catch (err) {

    console.log('Error while Connecting DB !')

  }

}
connectDB();

Please note that these steps simplify the development process. You may choose to follow the conventional method of installing PSQL separately for the production environment if you prefer to.