Connect with Java#
This example connects to PostgreSQL® service from Java, making use of JDBC Driver.
Variables#
These are the placeholders you will need to replace in the code sample:
Variable |
Description |
---|---|
|
Hostname for PostgreSQL connection, from the service overview page |
|
Port for PostgreSQL connection, from the service overview page |
|
Database Name for PostgreSQL connection, from the service overview page |
|
|
Pre-requisites#
For this example you will need:
Download PostgreSQL Driver. There are several options to do that
In case you have maven version >= 2+ run the code:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=org.postgresql:postgresql:42.3.2:jar -Ddest=postgresql-42.3.2.jar
Manually the jar could be downloaded from https://jdbc.postgresql.org/download/
Code#
Add the following to PostgresqlExample.java
and replace the placeholder with the PostgreSQL URI:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Locale;
public class PostgresqlExample {
public static void main(String[] args) throws ClassNotFoundException {
String host, port, databaseName, userName, password;
host = port = databaseName = userName = password = null;
for (int i = 0; i < args.length - 1; i++) {
switch (args[i].toLowerCase(Locale.ROOT)) {
case "-host": host = args[++i]; break;
case "-username": userName = args[++i]; break;
case "-password": password = args[++i]; break;
case "-database": databaseName = args[++i]; break;
case "-port": port = args[++i]; break;
}
}
// JDBC allows to have nullable username and password
if (host == null || port == null || databaseName == null) {
System.out.println("Host, port, database information is required");
return;
}
Class.forName("org.postgresql.Driver");
try (final Connection connection =
DriverManager.getConnection("jdbc:postgresql://" + host + ":" + port + "/" + databaseName + "?sslmode=require", userName, password);
final Statement statement = connection.createStatement();
final ResultSet resultSet = statement.executeQuery("SELECT version()")) {
while (resultSet.next()) {
System.out.println("Version: " + resultSet.getString("version"));
}
} catch (SQLException e) {
System.out.println("Connection failure.");
e.printStackTrace();
}
}
}
This code creates a PostgreSQL client and opens a connection to the database. Then runs a query checking the database version and prints the response
Before running the code, change:
HOST to
HOSTNAME
PORT: to
PORT
DATABASE to
DATABASE
PASSWORD to
PASSWORD
To run the code:
javac PostgresqlExample.java && java -cp postgresql-42.2.24.jar:. PostgresqlExample -host HOST -port PORT -database DATABASE -username avnadmin -password PASSWORD
If the script runs successfully, the outputs should be the PostgreSQL version running in your service like:
Version: PostgreSQL 13.4 on x86_64-pc-linux-gnu, compiled by gcc, a cdda7373b4 p 9751fce1e6, 64-bit