how to connect to PostgreSQL server to query the database names list how to connect to PostgreSQL server to query the database names list sql sql

how to connect to PostgreSQL server to query the database names list


Ok. I have figured it out my self. I can use this string to connect to the server with jdbc driver.

jdbc:postgresql://localhost:5432/?

and can use this code snippet to get the database list

private void listDownAllDatabases() {        try {            PreparedStatement ps = connection                    .prepareStatement("SELECT datname FROM pg_database WHERE datistemplate = false;");            ResultSet rs = ps.executeQuery();            while (rs.next()) {                System.out.println(rs.getString(1));            }            rs.close();            ps.close();        } catch (Exception e) {            e.printStackTrace();        }    }

References: I used this dba stackexchange answer to get all the database list


AFAIK, that is beyond the capabilities of JDBC. I suggest you reconsider your approach to the bigger problem. Environment variables or a PROPERTIES file might be a solution.


import java.io.PrintStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/** * Dev Parzival */public class TestingDatabase {    static String driver="org.postgresql.Driver";    static String jdbc_url="jdbc:postgresql://localhost:5432/";    static String username="username",password="password";    static PrintStream out;    static{        out=System.out;    }    public static void main(String $[]){        //SELECT datname FROM pg_database        try{            Class.forName(driver);            Connection connection= DriverManager.getConnection(jdbc_url,username,password);            Statement statement=connection.createStatement();            ResultSet result=statement.executeQuery("SELECT datname FROM pg_database");            while(result.next()){                System.out.println(result.getString(1));            }            connection.close();        }catch(Exception ex){            ex.printStackTrace();        }    }}

Hope this might help someone somehow