Getting started Clojure, jdbc, PostgreSQL

The first step is create a project directory

mkdir /tmp/foo

Add deps.edn file with jdbc and PostgreSQL dependencies. jdbc — is a universal Java interface for connection to databases.

{:deps {org.clojure/java.jdbc {:mvn/version "0.7.12"}
org.postgresql/postgresql {:mvn/version "42.3.3"}}}

The second step is creating a main file src/main.clj

(ns main
(:require
[clojure.java.jdbc :as j]))
(def pg-db {:dbtype "postgresql"
:port 5432
:user "admin"
:dbname "admin"
:password "admin"})
(j/query pg-db ["SELECT current_database()"])

The third step — run PostgreSQL. We’ll use docker for this purpose.

docker run -v $(pwd)/pgdata:/var/lib/postgresql/data -p 5432:5432 --name pg -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin postgres

Now we can run REPL and check that all works!

--

--