pgjdbc-ng

by impossibl

impossibl / pgjdbc-ng

A new JDBC driver for PostgreSQL aimed at supporting the advanced features of JDBC and Postgres

477 Stars 86 Forks Last release: 7 days ago (v0.8.5) Other 913 Commits 17 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

CI

General

A great place to start is the Website.

For comprehensive documentation see the User Guide

For quick reference, here are some useful details

Dependencies

Gradle
compile "com.impossibl.pgjdbc-ng:pgjdbc-ng:LATEST"
Maven
  com.impossibl.pgjdbc-ng
  pgjdbc-ng
  LATEST

JDBC URL

The driver accepts basic URLs in the following format

jdbc:pgsql://localhost:5432/db

See the User Guide for complete details on the accepted URL syntax.

Data sources

The javax.sql.DataSource class is

com.impossibl.postgres.jdbc.PGDataSource

, the javax.sql.ConnectionPoolDataSource class is

com.impossibl.postgres.jdbc.PGConnectionPoolDataSource

and the XADataSource class is

com.impossibl.postgres.jdbc.xa.PGXADataSource

License

pgjdbc-ng is released under the 3 clause BSD license.

Building

The driver is built with Gradle. To build & test, execute:

./gradlew clean build.

This will produce, in the

driver/build/libs
directory, two JAR files. One with dependencies packaged inside (
pgjdbg-nc-all-
) and another without (
pgjdbc-ng-VERSION
).

NOTE: Building requires a working install of Docker and Docker Compose as the unit tests are executed against a PostgreSQL instance in a private test container that is automatically started. If you wish to execute the tests against a specific instance of PostgreSQL outside of Docker see Testing.

Alternatively, to build the driver without testing you can execute:

./gradlew clean assemble  

Testing

The unit tests need a PostgreSQL database to execute against. The build will start a Docker container and setup the test environment to execute against that container automatically.

If you don't have Docker installed or, wish to execute the tests against a specific instance of PostgreSQL, you can execute the

build
or
test
tasks with the
noDocker
property set to true. For example:
./gradle -PnoDocker=true test

For this to work the unit tests need to locate your selected PostgreSQL instance. The unit tests attempt a connection assuming theses defaults:

SERVER:     localhost
PORT:       5432
DATABASE:   test
USERNAME:   test
PASSWORD:   test

The following system properties are supported in order to customize the setup

pgjdbc.test.server
pgjdbc.test.port
pgjdbc.test.db
pgjdbc.test.user
pgjdbc.test.password

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.