@@ -10,7 +10,6 @@ import (
1010 "os/exec"
1111 "path/filepath"
1212 "regexp"
13- "strconv"
1413 "strings"
1514 "testing"
1615 "time"
@@ -251,26 +250,31 @@ func PGDump(dbURL string) ([]byte, error) {
251250 return stdout .Bytes (), nil
252251}
253252
254- const minimumPostgreSQLVersion = 13
253+ const (
254+ minimumPostgreSQLVersion = 13
255+ postgresImageSha = "sha256:467e7f2fb97b2f29d616e0be1d02218a7bbdfb94eb3cda7461fd80165edfd1f7"
256+ )
255257
256258// PGDumpSchemaOnly is for use by gen/dump only.
257259// It runs pg_dump against dbURL and sets a consistent timezone and encoding.
258260func PGDumpSchemaOnly (dbURL string ) ([]byte , error ) {
259261 hasPGDump := false
260- if _ , err := exec .LookPath ("pg_dump" ); err == nil {
261- out , err := exec .Command ("pg_dump" , "--version" ).Output ()
262- if err == nil {
263- // Parse output:
264- // pg_dump (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
265- parts := strings .Split (string (out ), " " )
266- if len (parts ) > 2 {
267- version , err := strconv .Atoi (strings .Split (parts [2 ], "." )[0 ])
268- if err == nil && version >= minimumPostgreSQLVersion {
269- hasPGDump = true
270- }
271- }
272- }
273- }
262+ // TODO: Temporarily pin pg_dump to the docker image until
263+ // https://github.com/sqlc-dev/sqlc/issues/4065 is resolved.
264+ // if _, err := exec.LookPath("pg_dump"); err == nil {
265+ // out, err := exec.Command("pg_dump", "--version").Output()
266+ // if err == nil {
267+ // // Parse output:
268+ // // pg_dump (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
269+ // parts := strings.Split(string(out), " ")
270+ // if len(parts) > 2 {
271+ // version, err := strconv.Atoi(strings.Split(parts[2], ".")[0])
272+ // if err == nil && version >= minimumPostgreSQLVersion {
273+ // hasPGDump = true
274+ // }
275+ // }
276+ // }
277+ // }
274278
275279 cmdArgs := []string {
276280 "pg_dump" ,
@@ -295,7 +299,7 @@ func PGDumpSchemaOnly(dbURL string) ([]byte, error) {
295299 "run" ,
296300 "--rm" ,
297301 "--network=host" ,
298- fmt .Sprintf ("%s:%d" , postgresImage , minimumPostgreSQLVersion ),
302+ fmt .Sprintf ("%s:%d@%s " , postgresImage , minimumPostgreSQLVersion , postgresImageSha ),
299303 }, cmdArgs ... )
300304 }
301305 cmd := exec .Command (cmdArgs [0 ], cmdArgs [1 :]... ) //#nosec
0 commit comments