Guest User

Untitled

a guest
Sep 24th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. const DB_CONNECT_STRING = "host=postgres port=5432 user=postgres password=postgres sslmode=disable"
  2.  
  3. func ProvisionDB() error {
  4. db, err := sql.Open("postgres", DB_CONNECT_STRING)
  5. if err != nil {
  6. panic(err)
  7. }
  8. defer db.Close()
  9.  
  10. getUser, err := db.Exec("SELECT 1 FROM pg_roles WHERE rolname='keycloak'")
  11. rows, err := getUser.RowsAffected()
  12.  
  13. if rows != 1 {
  14. _, err = db.Exec("CREATE DATABASE keycloak")
  15. if err != nil {
  16. fmt.Println(err)
  17. }
  18.  
  19. _, err = db.Exec("CREATE USER keycloak WITH PASSWORD 'keycloak'")
  20. if err != nil {
  21. fmt.Println(err)
  22. }
  23.  
  24. _, err = db.Exec("GRANT ALL PRIVILEGES ON DATABASE keycloak TO keycloak")
  25. if err != nil {
  26. fmt.Println(err)
  27. }
  28.  
  29. _, err = db.Exec("ALTER USER pgche WITH SUPERUSER")
  30. if err != nil {
  31. fmt.Println(err)
  32. }
  33.  
  34. _, err = db.Exec("ALTER USER keycloak WITH SUPERUSER")
  35. if err != nil {
  36. fmt.Println(err)
  37. }
  38.  
  39. }
  40. return nil
  41. }
Add Comment
Please, Sign In to add comment