Не удалось определить имя пользователя по умолчанию.Пожалуйста, предоставьте однозначно - PullRequest
0 голосов
/ 18 декабря 2018

Получение этой ошибки при подключении контейнера golang к postgres.

pq: Не удалось определить имя пользователя по умолчанию.Пожалуйста, предоставьте одно явное

Я перепробовал множество комбинаций имен пользователей и паролей, но безуспешно.Какую комбинацию имени пользователя я должен использовать?

код для создания docker:

version: '3.6'
services:
  postgres:
    image: postgres:11.1-alpine
    ports:
      - '5432:5432'
    #network_mode: bridge
    container_name: postgres

    environment:
      POSTGRES_USER: 'user'
      POSTGRES_PASSWORD: 'password'
      POSTGRESS_DB: 'db_amex01'
    volumes:
      - ./init:/docker-entrypoint-initdb.d/


  todo:
    build: ./go_amex/
    depends_on:
      - "postgres"
    restart: always

    # ports:
    #   - "8000:8080"

. / Go_amex / main.go

db, err := gorm.Open("postgres", "host='postgres'&user=user@localhost&port=5432&dbname='todo'&password='password'&sslmode=disable")

if err != nil {
    fmt.Println("============   exiting ==========")
    fmt.Println(err)
    panic("failed to connect database cc")
}

defer db.Close()

код Github для вызова

1 Ответ

0 голосов
/ 18 декабря 2018

Попробуйте:

version: '3'
services:
  postgres:
    image: kartoza/postgis:9.6-2.4
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: developer
      POSTGRES_DBNAME: somedb
      POSTGRES_PASS: somepass
    volumes:
      - $HOME/data/postgres:/var/lib/postgresql/data

config для базы данных в yaml

sqlBind := fmt.Sprintf("user=%s password=%s dbname=%s sslmode=disable",
    "developer",
    "somepass",
    "somedb",
)
...