func extractConnectionOptions(config *yaml.File) (connectionOptions pgx.ConnectionParameters, err error) { connectionOptions.Host, _ = config.Get("database.host") connectionOptions.Socket, _ = config.Get("database.socket") if connectionOptions.Host == "" && connectionOptions.Socket == "" { err = errors.New("Config must contain database.host or database.socket but it does not") return } port, _ := config.GetInt("database.port") connectionOptions.Port = uint16(port) if connectionOptions.Database, err = config.Get("database.database"); err != nil { err = errors.New("Config must contain database.database but it does not") return } if connectionOptions.User, err = config.Get("database.user"); err != nil { err = errors.New("Config must contain database.user but it does not") return } connectionOptions.Password, _ = config.Get("database.password") return }