75f3dd141c
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CI and Release / lint-frontend (push) Has been cancelled
CI and Release / dockerfile-scan (push) Has been cancelled
CI and Release / test-frontend (push) Has been cancelled
CI and Release / lint-verification-agent (push) Has been cancelled
CI and Release / test-verification-agent (push) Has been cancelled
CI and Release / e2e-verification-agent (push) Has been cancelled
CI and Release / test-backend (push) Has been cancelled
CI and Release / build-dev-image (push) Has been cancelled
CI and Release / push-dev-image (push) Has been cancelled
CI and Release / build-image (push) Has been cancelled
CI and Release / build-verification-image (push) Has been cancelled
CI and Release / determine-version (push) Has been cancelled
CI and Release / push-image (push) Has been cancelled
CI and Release / push-verification-image (12) (push) Has been cancelled
CI and Release / lint-backend (push) Has been cancelled
CI and Release / push-verification-image (17) (push) Has been cancelled
CI and Release / push-verification-image (18) (push) Has been cancelled
CI and Release / release (push) Has been cancelled
CI and Release / publish-helm-chart (push) Has been cancelled
CI and Release / push-verification-image (13) (push) Has been cancelled
CI and Release / push-verification-image (14) (push) Has been cancelled
CI and Release / push-verification-image (15) (push) Has been cancelled
CI and Release / push-verification-image (16) (push) Has been cancelled
31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
package containers
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/testcontainers/testcontainers-go"
|
|
)
|
|
|
|
// StartTimescaleDB boots a PostgreSQL server with the timescaledb extension from a
|
|
// timescale/timescaledb image (e.g. "timescale/timescaledb:2.17.0-pg17").
|
|
func StartTimescaleDB(t *testing.T, image string) Endpoint {
|
|
t.Helper()
|
|
|
|
return start(t, timescaleDBRequest(image), postgresPort)
|
|
}
|
|
|
|
// timescaleDBRequest mirrors postgresRequest but pins the data dir to the pre-18 layout: every
|
|
// published timescaledb image is pre-18, and postgresDataDir's tag parser would misread a
|
|
// "<ts>-pg<major>" tag. The timescaledb shared library is loaded by the image's own tuning, so no
|
|
// shared_preload_libraries override is needed here.
|
|
func timescaleDBRequest(image string) testcontainers.ContainerRequest {
|
|
return testcontainers.ContainerRequest{
|
|
Image: image,
|
|
ExposedPorts: []string{postgresPort},
|
|
Env: postgresEnv(),
|
|
Cmd: []string{"-c", "fsync=off", "-c", "full_page_writes=off", "-c", "synchronous_commit=off"},
|
|
Tmpfs: map[string]string{"/var/lib/postgresql/data": dataDirTmpfsOptions},
|
|
WaitingFor: postgresReady(),
|
|
}
|
|
}
|