@@ -10,7 +10,6 @@ import (
10
10
"os/exec"
11
11
"path/filepath"
12
12
"regexp"
13
- "strconv"
14
13
"strings"
15
14
"testing"
16
15
"time"
@@ -251,26 +250,31 @@ func PGDump(dbURL string) ([]byte, error) {
251
250
return stdout .Bytes (), nil
252
251
}
253
252
254
- const minimumPostgreSQLVersion = 13
253
+ const (
254
+ minimumPostgreSQLVersion = 13
255
+ postgresImageSha = "sha256:467e7f2fb97b2f29d616e0be1d02218a7bbdfb94eb3cda7461fd80165edfd1f7"
256
+ )
255
257
256
258
// PGDumpSchemaOnly is for use by gen/dump only.
257
259
// It runs pg_dump against dbURL and sets a consistent timezone and encoding.
258
260
func PGDumpSchemaOnly (dbURL string ) ([]byte , error ) {
259
261
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
+ // }
274
278
275
279
cmdArgs := []string {
276
280
"pg_dump" ,
@@ -295,7 +299,7 @@ func PGDumpSchemaOnly(dbURL string) ([]byte, error) {
295
299
"run" ,
296
300
"--rm" ,
297
301
"--network=host" ,
298
- fmt .Sprintf ("%s:%d" , postgresImage , minimumPostgreSQLVersion ),
302
+ fmt .Sprintf ("%s:%d@%s " , postgresImage , minimumPostgreSQLVersion , postgresImageSha ),
299
303
}, cmdArgs ... )
300
304
}
301
305
cmd := exec .Command (cmdArgs [0 ], cmdArgs [1 :]... ) //#nosec
0 commit comments