Guest User

Untitled

a guest
Aug 23rd, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "context"
  5. "database/sql"
  6. "fmt"
  7. "log"
  8.  
  9. "github.com/jackc/pgx"
  10. "github.com/jackc/pgx/stdlib"
  11. )
  12.  
  13. func OpenDB() (*sql.DB, error) {
  14.  
  15. // To ease SSL config ride a bit on parsing.
  16. cc, err := pgx.ParseConnectionString("sslmode=prefer")
  17. if err != nil {
  18. return nil, err
  19. }
  20.  
  21. // Do the rest manually to allow whitespace in user/password.
  22. cc.Host = "192.168.56.101"
  23. cc.Port = 5432
  24. cc.User = "meta_login"
  25. cc.Password = "nai$Poo4Ph"
  26. cc.Database = "gemma"
  27.  
  28. return stdlib.OpenDB(cc), nil
  29. }
  30.  
  31. func must(err error) {
  32. if err != nil {
  33. log.Panicf("error: %v\n", err)
  34. }
  35. }
  36.  
  37. func main() {
  38.  
  39. db, err := OpenDB()
  40. must(err)
  41. defer db.Close()
  42.  
  43. con1, err := db.Conn(context.Background())
  44. must(err)
  45. defer con1.Close()
  46.  
  47. con2, err := db.Conn(context.Background())
  48. must(err)
  49. defer con2.Close()
  50.  
  51. _, err = con1.ExecContext(context.Background(), `SELECT public.setrole_plan($1)`, "sophie")
  52. must(err)
  53. _, err = con2.ExecContext(context.Background(), `SELECT public.setrole_plan($1)`, "penka")
  54. must(err)
  55.  
  56. var u1, u2 string
  57.  
  58. err = con1.QueryRowContext(context.Background(), `SELECT current_user`).Scan(&u1)
  59. must(err)
  60. err = con2.QueryRowContext(context.Background(), `SELECT current_user`).Scan(&u2)
  61. must(err)
  62.  
  63. fmt.Printf("user 1: %s\n", u1)
  64. fmt.Printf("user 2: %s\n", u2)
  65. }
Add Comment
Please, Sign In to add comment