Difference between revisions of "Embedded postgresql using golang"
Jump to navigation
Jump to search
(Created page with "package main /* https://pkg.go.dev/github.com/fergusstrange/embedded-postgres#section-readme https://github.com/fergusstrange/embedded-postgres https://github.com/zonkyio/embe...") |
|||
Line 1: | Line 1: | ||
+ | .env | ||
+ | ``` | ||
+ | export PGDATABASE=demo | ||
+ | export PGHOST=127.0.0.1 | ||
+ | export PGPASSWORD=demo | ||
+ | export PGPORT=15432 | ||
+ | export PGUSER=demo | ||
+ | ``` | ||
+ | |||
+ | get package | ||
+ | ``` | ||
+ | go get -u github.com/fergusstrange/embedded-postgres | ||
+ | ``` | ||
+ | |||
+ | a.go | ||
+ | ``` | ||
package main | package main | ||
/* | /* | ||
Line 46: | Line 62: | ||
} | } | ||
} | } | ||
+ | ``` |
Revision as of 03:48, 11 March 2022
.env
export PGDATABASE=demo export PGHOST=127.0.0.1 export PGPASSWORD=demo export PGPORT=15432 export PGUSER=demo
get package
go get -u github.com/fergusstrange/embedded-postgres
a.go
package main /* https://pkg.go.dev/github.com/fergusstrange/embedded-postgres#section-readme https://github.com/fergusstrange/embedded-postgres https://github.com/zonkyio/embedded-postgres https://mvnrepository.com/artifact/io.zonky.test.postgres/embedded-postgres-binaries-bom */ import ( "bytes" "fmt" "time" "github.com/fergusstrange/embedded-postgres" ) func main() { runseconds := 60 // Version("14.2.0"). // Version("13.6.0"). // Version("12.10.0"). logger := &bytes.Buffer{} conf := embeddedpostgres.DefaultConfig(). Username("demo"). Password("demo"). Database("demo"). Version("14.2.0"). RuntimePath("./pgdata"). BinaryRepositoryURL("https://repo1.maven.org/maven2"). Port(15432). StartTimeout(15 * time.Second). Logger(logger) postgres := embeddedpostgres.NewDatabase(conf) err := postgres.Start() if err != nil { fmt.Println(err) } fmt.Printf("Running postgres server for %d seconds.", runseconds) time.Sleep(time.Duration(runseconds) * time.Second) err = postgres.Stop() if err != nil { fmt.Println(err) } }