Search code examples
databasepostgresqlconnection-poolinghikaricp

How do I configure HikariCP for postgresql?


I'm trying to use HikariCP in postgresql and I can't find anywhere the configuration for postgresql.

Please point me to any example for postgresql with HikariCP or any configurations tutorial for the same.

I tried to use it like below but it didn't work and then I realized it was meant for MySQL

public static DataSource getDataSource()

    {

            if(datasource == null)

            {

                    HikariConfig config = new HikariConfig();


            config.setJdbcUrl("jdbc:mysql://localhost/test");

            config.setUsername("root");

            config.setPassword("password");



            config.setMaximumPoolSize(10);

            config.setAutoCommit(false);

            config.addDataSourceProperty("cachePrepStmts", "true");

            config.addDataSourceProperty("prepStmtCacheSize", "250");
            config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");



            datasource = new HikariDataSource(config);

            }

           return datasource;

    }

Solution

  • You have example in HikariCP configuration wiki page

     Properties props = new Properties();
    
    props.setProperty("dataSourceClassName", "org.postgresql.ds.PGSimpleDataSource");
    props.setProperty("dataSource.user", "test");
    props.setProperty("dataSource.password", "test");
    props.setProperty("dataSource.databaseName", "mydb");
    props.put("dataSource.logWriter", new PrintWriter(System.out));
    
    HikariConfig config = new HikariConfig(props);
    HikariDataSource ds = new HikariDataSource(config);