44 postgres-16-data :
55 postgres-17-data :
66 postgres-18-data :
7+ pg-sockets :
78
89services :
910 app :
@@ -13,12 +14,24 @@ services:
1314
1415 volumes :
1516 - ../..:/workspaces:cached
17+ - pg-sockets:/var/run/postgresql
1618
1719 environment :
1820 PGUSER : postgres
1921 PGPASSWORD : postgres
2022 PGDATABASE : pgx_test
2123 PGHOST : localhost
24+ # PGX test env vars target PG18 (port 5432) by default.
25+ # test.sh overrides these per-target.
26+ PGX_TEST_DATABASE : " host=localhost port=5432 user=postgres password=postgres dbname=pgx_test"
27+ PGX_TEST_UNIX_SOCKET_CONN_STRING : " host=/var/run/postgresql port=5432 user=postgres dbname=pgx_test"
28+ PGX_TEST_TCP_CONN_STRING : " host=127.0.0.1 port=5432 user=pgx_md5 password=secret dbname=pgx_test"
29+ PGX_TEST_MD5_PASSWORD_CONN_STRING : " host=127.0.0.1 port=5432 user=pgx_md5 password=secret dbname=pgx_test"
30+ PGX_TEST_SCRAM_PASSWORD_CONN_STRING : " host=127.0.0.1 port=5432 user=pgx_scram password=secret dbname=pgx_test"
31+ PGX_TEST_PLAIN_PASSWORD_CONN_STRING : " host=127.0.0.1 port=5432 user=pgx_pw password=secret dbname=pgx_test"
32+ PGX_TEST_TLS_CONN_STRING : " host=localhost port=5432 user=pgx_ssl password=secret sslmode=verify-full sslrootcert=/tmp/ca.pem dbname=pgx_test"
33+ PGX_TEST_TLS_CLIENT_CONN_STRING : " host=localhost port=5432 user=pgx_sslcert sslmode=verify-full sslrootcert=/tmp/ca.pem sslcert=/tmp/pgx_sslcert.crt sslkey=/tmp/pgx_sslcert.key dbname=pgx_test"
34+ PGX_SSL_PASSWORD : certpw
2235
2336 # Overrides default command so things don't shut down after the process ends.
2437 command : sleep infinity
@@ -29,68 +42,89 @@ services:
2942 volumes :
3043 - postgres-14-data:/var/lib/postgresql
3144 - ../testsetup/postgresql_setup.sql:/docker-entrypoint-initdb.d/01-setup.sql:ro
45+ - ../testsetup/pg_ssl_init.sh:/docker-entrypoint-initdb.d/02-ssl-init.sh:ro
46+ - ../testsetup/pg_hba_devcontainer.conf:/etc/postgresql/pg_hba.conf:ro
47+ - ../testsetup/certs:/etc/postgresql/ssl:ro
48+ - pg-sockets:/var/run/postgresql
3249 network_mode : service:app
3350 environment :
3451 POSTGRES_USER : postgres
3552 POSTGRES_PASSWORD : postgres
3653 POSTGRES_DB : pgx_test
3754 POSTGRES_HOSTNAME : localhost
38- command : postgres -c port=5414
55+ command : postgres -c port=5414 -c hba_file=/etc/postgresql/pg_hba.conf -c ssl=on -c ssl_cert_file=server.crt -c ssl_key_file=server.key -c ssl_ca_file=root.crt -c unix_socket_directories=/var/run/postgresql
3956
4057 postgres-15 :
4158 image : postgres:15
4259 restart : unless-stopped
4360 volumes :
4461 - postgres-15-data:/var/lib/postgresql
4562 - ../testsetup/postgresql_setup.sql:/docker-entrypoint-initdb.d/01-setup.sql:ro
63+ - ../testsetup/pg_ssl_init.sh:/docker-entrypoint-initdb.d/02-ssl-init.sh:ro
64+ - ../testsetup/pg_hba_devcontainer.conf:/etc/postgresql/pg_hba.conf:ro
65+ - ../testsetup/certs:/etc/postgresql/ssl:ro
66+ - pg-sockets:/var/run/postgresql
4667 network_mode : service:app
4768 environment :
4869 POSTGRES_USER : postgres
4970 POSTGRES_PASSWORD : postgres
5071 POSTGRES_DB : pgx_test
5172 POSTGRES_HOSTNAME : localhost
52- command : postgres -c port=5415
73+ command : postgres -c port=5415 -c hba_file=/etc/postgresql/pg_hba.conf -c ssl=on -c ssl_cert_file=server.crt -c ssl_key_file=server.key -c ssl_ca_file=root.crt -c unix_socket_directories=/var/run/postgresql
5374
5475 postgres-16 :
5576 image : postgres:16
5677 restart : unless-stopped
5778 volumes :
5879 - postgres-16-data:/var/lib/postgresql
5980 - ../testsetup/postgresql_setup.sql:/docker-entrypoint-initdb.d/01-setup.sql:ro
81+ - ../testsetup/pg_ssl_init.sh:/docker-entrypoint-initdb.d/02-ssl-init.sh:ro
82+ - ../testsetup/pg_hba_devcontainer.conf:/etc/postgresql/pg_hba.conf:ro
83+ - ../testsetup/certs:/etc/postgresql/ssl:ro
84+ - pg-sockets:/var/run/postgresql
6085 network_mode : service:app
6186 environment :
6287 POSTGRES_USER : postgres
6388 POSTGRES_PASSWORD : postgres
6489 POSTGRES_DB : pgx_test
6590 POSTGRES_HOSTNAME : localhost
66- command : postgres -c port=5416
91+ command : postgres -c port=5416 -c hba_file=/etc/postgresql/pg_hba.conf -c ssl=on -c ssl_cert_file=server.crt -c ssl_key_file=server.key -c ssl_ca_file=root.crt -c unix_socket_directories=/var/run/postgresql
6792
6893 postgres-17 :
6994 image : postgres:17
7095 restart : unless-stopped
7196 volumes :
7297 - postgres-17-data:/var/lib/postgresql
7398 - ../testsetup/postgresql_setup.sql:/docker-entrypoint-initdb.d/01-setup.sql:ro
99+ - ../testsetup/pg_ssl_init.sh:/docker-entrypoint-initdb.d/02-ssl-init.sh:ro
100+ - ../testsetup/pg_hba_devcontainer.conf:/etc/postgresql/pg_hba.conf:ro
101+ - ../testsetup/certs:/etc/postgresql/ssl:ro
102+ - pg-sockets:/var/run/postgresql
74103 network_mode : service:app
75104 environment :
76105 POSTGRES_USER : postgres
77106 POSTGRES_PASSWORD : postgres
78107 POSTGRES_DB : pgx_test
79108 POSTGRES_HOSTNAME : localhost
80- command : postgres -c port=5417
109+ command : postgres -c port=5417 -c hba_file=/etc/postgresql/pg_hba.conf -c ssl=on -c ssl_cert_file=server.crt -c ssl_key_file=server.key -c ssl_ca_file=root.crt -c unix_socket_directories=/var/run/postgresql
81110
82111 postgres-18 :
83112 image : postgres:18
84113 restart : unless-stopped
85114 volumes :
86115 - postgres-18-data:/var/lib/postgresql
87116 - ../testsetup/postgresql_setup.sql:/docker-entrypoint-initdb.d/01-setup.sql:ro
117+ - ../testsetup/pg_ssl_init.sh:/docker-entrypoint-initdb.d/02-ssl-init.sh:ro
118+ - ../testsetup/pg_hba_devcontainer.conf:/etc/postgresql/pg_hba.conf:ro
119+ - ../testsetup/certs:/etc/postgresql/ssl:ro
120+ - pg-sockets:/var/run/postgresql
88121 network_mode : service:app
89122 environment :
90123 POSTGRES_USER : postgres
91124 POSTGRES_PASSWORD : postgres
92125 POSTGRES_DB : pgx_test
93126 POSTGRES_HOSTNAME : localhost
127+ command : postgres -c hba_file=/etc/postgresql/pg_hba.conf -c ssl=on -c ssl_cert_file=server.crt -c ssl_key_file=server.key -c ssl_ca_file=root.crt -c unix_socket_directories=/var/run/postgresql
94128
95129 cockroachdb :
96130 image : cockroachdb/cockroach:v25.4.4
0 commit comments