Reusable Containers (Experimental)

Postgres Module

qianmoQqianmoQ· 更新于 2026-10-13· 阅读 5 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Postgres Module

Testcontainers module for PostgresSQL

Usage example

You can start a PostgreSQL container instance from any Java application by using:

Container creation

PostgreSQLContainer postgres = new PostgreSQLContainer("postgres:9.6.12")

See Database containers for documentation and usage that is common to all relational database container types.

Testcontainers JDBC URL

  • PostgreSQL: jdbc:tc:postgresql:9.6.8:///databasename
  • PostGIS: jdbc:tc:postgis:9.6-2.5:///databasename
  • TimescaleDB: jdbc:tc:timescaledb:2.1.0-pg13:///databasename
  • PGvector: jdbc:tc:pgvector:pg16:///databasename

See JDBC for documentation.

Compatible images

PostgreSQLContainer can also be used with the following images:

Using pgvector

PostgreSQLContainer pgvector = new PostgreSQLContainer("pgvector/pgvector:pg16")

Using PostGIS

PostgreSQLContainer postgis = new PostgreSQLContainer(
    DockerImageName.parse("postgis/postgis:16-3.4-alpine").asCompatibleSubstituteFor("postgres")
)

Using TimescaleDB

PostgreSQLContainer timescaledb = new PostgreSQLContainer(
    DockerImageName.parse("timescale/timescaledb:2.14.2-pg16").asCompatibleSubstituteFor("postgres")
)

Adding this module to your project dependencies

Add the following dependency to your pom.xml/build.gradle file:

GradleMaven

testImplementation "org.testcontainers:testcontainers-postgresql:2.0.5"
<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>testcontainers-postgresql</artifactId>
    <version>2.0.5</version>
    <scope>test</scope>
</dependency>

Hint

Adding this Testcontainers library JAR will not automatically add a database driver JAR to your project. You should ensure that your project also has a suitable database driver as a dependency.

评论

登录后参与评论

正在加载评论…