Ideas2IT rewards key players with 1/3rd of the Company in New Initiative.  Read More >
Back to Blogs

Installing and Running PostgreSQL Using Docker - Ultimate Guide

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

Install and Configure PSQL using Docker:

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.

Install PG-admin using Docker:

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.

About Ideas2IT:

Are you looking to build a great product or service? Do you foresee technical challenges? If you answered yes to the above questions, then you must talk to us. We are a world-class Custom dot net development company.  We take up projects that are in our area of expertise. We know what we are good at and more importantly what we are not. We carefully choose projects where we strongly believe that we can add value. And not just in engineering but also in terms of how well we understand the domain. Book a free consultation with us today. Let’s work together.

Ideas2IT Team

Connect with Us

We'd love to brainstorm your priority tech initiatives and contribute to the best outcomes.