@@ -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) {
251250return 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 ) {
259261hasPGDump := 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
275279cmdArgs := []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}
301305cmd := exec .Command (cmdArgs [0 ],cmdArgs [1 :]... )//#nosec