projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
20284: Fix test and update code comment.
[arvados.git]
/
lib
/
boot
/
postgresql.go
diff --git
a/lib/boot/postgresql.go
b/lib/boot/postgresql.go
index a08180e0c39a51ad685c08fdb16707605fd33b20..d105b0b62342b4defc60838e14accd9f38ce9ed8 100644
(file)
--- a/
lib/boot/postgresql.go
+++ b/
lib/boot/postgresql.go
@@
-36,15
+36,19
@@
func (runPostgreSQL) Run(ctx context.Context, fail func(error), super *Superviso
return err
}
return err
}
+ if super.ClusterType == "production" {
+ return nil
+ }
+
iamroot := false
if u, err := user.Current(); err != nil {
iamroot := false
if u, err := user.Current(); err != nil {
- return fmt.Errorf("user.Current(): %
s
", err)
+ return fmt.Errorf("user.Current(): %
w
", err)
} else if u.Uid == "0" {
iamroot = true
}
buf := bytes.NewBuffer(nil)
} else if u.Uid == "0" {
iamroot = true
}
buf := bytes.NewBuffer(nil)
- err = super.RunProgram(ctx, super.tempdir,
buf, nil
, "pg_config", "--bindir")
+ err = super.RunProgram(ctx, super.tempdir,
runOptions{output: buf}
, "pg_config", "--bindir")
if err != nil {
return err
}
if err != nil {
return err
}
@@
-56,12
+60,13
@@
func (runPostgreSQL) Run(ctx context.Context, fail func(error), super *Superviso
return err
}
prog, args := filepath.Join(bindir, "initdb"), []string{"-D", datadir, "-E", "utf8"}
return err
}
prog, args := filepath.Join(bindir, "initdb"), []string{"-D", datadir, "-E", "utf8"}
+ opts := runOptions{}
if iamroot {
postgresUser, err := user.Lookup("postgres")
if err != nil {
return fmt.Errorf("user.Lookup(\"postgres\"): %s", err)
}
if iamroot {
postgresUser, err := user.Lookup("postgres")
if err != nil {
return fmt.Errorf("user.Lookup(\"postgres\"): %s", err)
}
- postgresU
id
, err := strconv.Atoi(postgresUser.Uid)
+ postgresU
ID
, err := strconv.Atoi(postgresUser.Uid)
if err != nil {
return fmt.Errorf("user.Lookup(\"postgres\"): non-numeric uid?: %q", postgresUser.Uid)
}
if err != nil {
return fmt.Errorf("user.Lookup(\"postgres\"): non-numeric uid?: %q", postgresUser.Uid)
}
@@
-77,24
+82,23
@@
func (runPostgreSQL) Run(ctx context.Context, fail func(error), super *Superviso
if err != nil {
return err
}
if err != nil {
return err
}
- err = os.Chown(datadir, postgresU
id
, 0)
+ err = os.Chown(datadir, postgresU
ID
, 0)
if err != nil {
return err
}
if err != nil {
return err
}
- args = append([]string{"-u", "postgres", prog}, args...)
- prog = "sudo"
+ opts.user = "postgres"
}
}
- err = super.RunProgram(ctx, super.tempdir,
nil, nil
, prog, args...)
+ err = super.RunProgram(ctx, super.tempdir,
opts
, prog, args...)
if err != nil {
return err
}
if err != nil {
return err
}
- err = super.RunProgram(ctx, super.tempdir,
nil, nil
, "cp", "server.crt", "server.key", datadir)
+ err = super.RunProgram(ctx, super.tempdir,
runOptions{}
, "cp", "server.crt", "server.key", datadir)
if err != nil {
return err
}
if iamroot {
if err != nil {
return err
}
if iamroot {
- err = super.RunProgram(ctx, super.tempdir,
nil, nil
, "chown", "postgres", datadir+"/server.crt", datadir+"/server.key")
+ err = super.RunProgram(ctx, super.tempdir,
runOptions{}
, "chown", "postgres", datadir+"/server.crt", datadir+"/server.key")
if err != nil {
return err
}
if err != nil {
return err
}
@@
-109,13
+113,14
@@
func (runPostgreSQL) Run(ctx context.Context, fail func(error), super *Superviso
"-l", // enable ssl
"-D", datadir, // data dir
"-k", datadir, // socket dir
"-l", // enable ssl
"-D", datadir, // data dir
"-k", datadir, // socket dir
+ "-h", super.cluster.PostgreSQL.Connection["host"],
"-p", super.cluster.PostgreSQL.Connection["port"],
}
"-p", super.cluster.PostgreSQL.Connection["port"],
}
+ opts := runOptions{}
if iamroot {
if iamroot {
- args = append([]string{"-u", "postgres", prog}, args...)
- prog = "sudo"
+ opts.user = "postgres"
}
}
- fail(super.RunProgram(ctx, super.tempdir,
nil, nil
, prog, args...))
+ fail(super.RunProgram(ctx, super.tempdir,
opts
, prog, args...))
}()
for {
}()
for {
@@
-149,7
+154,7
@@
func (runPostgreSQL) Run(ctx context.Context, fail func(error), super *Superviso
if err != nil {
return fmt.Errorf("createuser failed: %s", err)
}
if err != nil {
return fmt.Errorf("createuser failed: %s", err)
}
- _, err = conn.ExecContext(ctx, `CREATE DATABASE `+pq.QuoteIdentifier(super.cluster.PostgreSQL.Connection["dbname"]))
+ _, err = conn.ExecContext(ctx, `CREATE DATABASE `+pq.QuoteIdentifier(super.cluster.PostgreSQL.Connection["dbname"])
+` WITH TEMPLATE template0 ENCODING 'utf8'`
)
if err != nil {
return fmt.Errorf("createdb failed: %s", err)
}
if err != nil {
return fmt.Errorf("createdb failed: %s", err)
}