如何为postgresql配置HikariCP?

时间:2018-05-07 11:40:56

标签: database postgresql connection-pooling hikaricp

我正在尝试在postgresql中使用HikariCP,我找不到postgresql的配置。

请指教我使用HikariCP或任何配置教程的postgresql的任何示例。

我试着像下面那样使用它,但它没有用,然后我意识到它是用于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;

    }

2 个答案:

答案 0 :(得分:3)

您在HikariCP configuration wiki页面中有示例

 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);

答案 1 :(得分:0)

在 application.yaml 中使用这些设置对我有用:

javax:
  sql:
    DataSource:
      postgresDataSource:
        dataSourceClassName: org.postgresql.ds.PGSimpleDataSource
        dataSource:
          #url: jdbc:postgresql://localhost:5432/test
          serverName: localhost
          portNumber: 5432
          databaseName: test
          user: ...
          password: ...