샘플
github.com/jackc/pgx/v5 v5.7.6: ParseConfig
검증된 샘플 — golang github.com/jackc/pgx/v5 v5.7.6: ParseConfig. go 1.26 · linux debian/x64 · docker에서 contract를 실행해 통과했습니다: pgx.ParseConfig parses standard…
sha256:d86253c96bea8413a81bc95cf9418e855469aa3b283e375d533eaf7f7222e2bb
이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다.
통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다.
MIT-0
실행 증거
선언된 환경과 서명된 실행을 분리해 두었습니다. 이 샘플이 무엇을 어디서 실행했는지 그대로 볼 수 있습니다.
- 증거 기준
- 서명된 컨트랙트 통과
- 검증 영수증
- 1
- 빌드한 서명 키
- 1
선언된 환경
linux 24 · ubuntu · glibc 2.39 amd64 go
검증 실행 환경
| 환경 | 컨트랙트 | 단계 | 실행일 |
|---|---|---|---|
| go 1.26 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1golang:1.26@sha256:e30143be198a… |
2026-09-10 |
케이스
HOW- 목표
- verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.6
- 심벌
-
- github.com/jackc/pgx/v5.ParseConfig
- 생성일
- 2026-09-10T16:14:32Z
컨트랙트
- pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig with expected host, port, user, password, and database.
- pgx.ParseConfig parses key-value DSN connection strings into ConnConfig.
- pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options.
- pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values.
- pgx.ParseConfig configures TLS settings according to sslmode parameter.
파일
- NOTES.md
- PROMPT.md
- csx.json
- go.mod
- go.sum
- main.go
- spec.json
- test/contract.go
소스
# Parsing Connection Strings with pgx.ParseConfig
Demonstrates parsing PostgreSQL connection strings using `github.com/jackc/pgx/v5.ParseConfig` in `pkg:golang/github.com/jackc/pgx/v5@v5.7.6`.
## Verified Behaviors
1. Standard PostgreSQL URL parsing (`postgres://user:password@host:port/dbname`).
2. DSN key-value connection string parsing (`host=localhost port=5433 dbname=...`).
3. Parsing URL query parameters into `RuntimeParams` and connection options like `connect_timeout`.
4. Returning non-nil error when parsing invalid connection strings or invalid port values.
5. Handling `sslmode` parameter (disabling or requiring TLS configuration).
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.6
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/github.com/jackc/pgx/v5@v5.7.6
Demonstrate these symbols/APIs:
- github.com/jackc/pgx/v5.ParseConfig
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:9033c57e2b1294a97c40d53ae5f64e919a90bfe9d5ed0f6c7b410b76721818d5","contract":["pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig with expected host, port, user, password, and database.","pgx.ParseConfig parses key-value DSN connection strings into ConnConfig.","pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options.","pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values.","pgx.ParseConfig configures TLS settings according to sslmode parameter."],"goal":"verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.6","kind":"HOW","packages":["pkg:golang/github.com/jackc/pgx/v5@v5.7.6"],"schemaVersion":1,"symbols":["github.com/jackc/pgx/v5.ParseConfig"]},"contractCommand":["go","run","./test"],"environment":{"arch":"amd64","distro":"ubuntu","ecosystem":"golang","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"go","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/github.com/jackc/pgx/v5@v5.7.6"],"schemaVersion":1,"subject":"pkg:golang/github.com/jackc/pgx/v5@v5.7.6","symbols":["github.com/jackc/pgx/v5.ParseConfig"],"verifierAdapter":"golang@1"}
module sample
go 1.25.0
require github.com/jackc/pgx/v5 v5.7.6
require (
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/text v0.24.0 // indirect
)
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.7.6 h1:rWQc5FwZSPX58r1OQmkuaNicxdmExaEz5A2DO2hUuTk=
github.com/jackc/pgx/v5 v5.7.6/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
package main
import (
"fmt"
"github.com/jackc/pgx/v5"
)
func main() {
connStr := "postgres://demo_user:demo_pass@localhost:5432/demo_db?sslmode=disable&application_name=demo_app"
config, err := pgx.ParseConfig(connStr)
if err != nil {
fmt.Printf("failed to parse connection string: %v\n", err)
return
}
fmt.Printf("Host: %s, Port: %d, Database: %s, User: %s, App: %s\n",
config.Host, config.Port, config.Database, config.User, config.RuntimeParams["application_name"])
}
{
"schemaVersion": 1,
"goal": "verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.6",
"kind": "HOW",
"packages": [
"pkg:golang/github.com/jackc/pgx/v5@v5.7.6"
],
"symbols": [
"github.com/jackc/pgx/v5.ParseConfig"
]
}
package main
import (
"fmt"
"os"
"time"
"github.com/jackc/pgx/v5"
)
func main() {
// Assertion 1: pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig
{
connStr := "postgres://sample_user:sample_pass@localhost:5432/sample_db"
cfg, err := pgx.ParseConfig(connStr)
if err != nil {
fmt.Fprintf(os.Stderr, "assertion 1 failed: unexpected error: %v\n", err)
os.Exit(1)
}
if cfg.Host != "localhost" || cfg.Port != 5432 || cfg.User != "sample_user" || cfg.Password != "sample_pass" || cfg.Database != "sample_db" {
fmt.Fprintf(os.Stderr, "assertion 1 failed: parsed field mismatch: %+v\n", cfg)
os.Exit(1)
}
}
// Assertion 2: pgx.ParseConfig parses key-value DSN connection strings into ConnConfig
{
connStr := "host=localhost port=5433 dbname=dsn_db user=dsn_user password=dsn_pass sslmode=disable"
cfg, err := pgx.ParseConfig(connStr)
if err != nil {
fmt.Fprintf(os.Stderr, "assertion 2 failed: unexpected error: %v\n", err)
os.Exit(1)
}
if cfg.Host != "localhost" || cfg.Port != 5433 || cfg.User != "dsn_user" || cfg.Password != "dsn_pass" || cfg.Database != "dsn_db" {
fmt.Fprintf(os.Stderr, "assertion 2 failed: parsed field mismatch: %+v\n", cfg)
os.Exit(1)
}
}
// Assertion 3: pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options
{
connStr := "postgres://localhost:5432/mydb?application_name=sample_app&search_path=public,custom&connect_timeout=15"
cfg, err := pgx.ParseConfig(connStr)
if err != nil {
fmt.Fprintf(os.Stderr, "assertion 3 failed: unexpected error: %v\n", err)
os.Exit(1)
}
if cfg.RuntimeParams["application_name"] != "sample_app" {
fmt.Fprintf(os.Stderr, "assertion 3 failed: application_name mismatch: %q\n", cfg.RuntimeParams["application_name"])
os.Exit(1)
}
if cfg.RuntimeParams["search_path"] != "public,custom" {
fmt.Fprintf(os.Stderr, "assertion 3 failed: search_path mismatch: %q\n", cfg.RuntimeParams["search_path"])
os.Exit(1)
}
if cfg.ConnectTimeout != 15*time.Second {
fmt.Fprintf(os.Stderr, "assertion 3 failed: connect_timeout mismatch: %v\n", cfg.ConnectTimeout)
os.Exit(1)
}
}
// Assertion 4: pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values
{
invalidConnStr := "host=localhost port=not_a_number"
_, err := pgx.ParseConfig(invalidConnStr)
if err == nil {
fmt.Fprintf(os.Stderr, "assertion 4 failed: expected error for invalid port, got nil\n")
os.Exit(1)
}
}
// Assertion 5: pgx.ParseConfig configures TLS settings according to sslmode parameter
{
disableStr := "postgres://localhost:5432/mydb?sslmode=disable"
cfgDisable, err := pgx.ParseConfig(disableStr)
if err != nil {
fmt.Fprintf(os.Stderr, "assertion 5 failed: unexpected error for sslmode=disable: %v\n", err)
os.Exit(1)
}
if cfgDisable.TLSConfig != nil {
fmt.Fprintf(os.Stderr, "assertion 5 failed: expected nil TLSConfig for sslmode=disable\n")
os.Exit(1)
}
requireStr := "postgres://localhost:5432/mydb?sslmode=require"
cfgRequire, err := pgx.ParseConfig(requireStr)
if err != nil {
fmt.Fprintf(os.Stderr, "assertion 5 failed: unexpected error for sslmode=require: %v\n", err)
os.Exit(1)
}
if cfgRequire.TLSConfig == nil {
fmt.Fprintf(os.Stderr, "assertion 5 failed: expected non-nil TLSConfig for sslmode=require\n")
os.Exit(1)
}
}
fmt.Println("All contract assertions passed successfully.")
}
오리진 시더
익명