Golang PostgreSQL Ошибка: «getaddrinfow: указанный класс не найден». - PullRequest
0 голосов
/ 13 апреля 2020

У меня проблема с Go, и я выполняю стандартные операции с моей базой данных PostgreSQL.

Я впервые начал кодировать с помощью GORM и при подключении получал следующее сообщение об ошибке:

dial tcp: lookup tcp / fullstack_api: getaddrinfow: указанный класс не найден.

После переключения на стандартный пакет "database/sql" с диалектом _ "github.com/lib/pq" postgreSQL, подключение больше не выдает эту ошибку. Однако теперь я получаю эту ошибку при попытке выполнить какой-либо запрос к подключенной базе данных, что, как я полагаю, GORM делал изначально.

Следующий код вызывает эту ошибку в моей системе:

// Connect initiates a DB connection.
func (dbConn *PostgresConnection) Connect() error {
    handle, connErr := sql.Open("postgres", dbConn.getConnectionString())
    if connErr != nil { // Does NOT cause an error
        return connErr 
    }
    if pingErr := handle.Ping(); pingErr != nil { // Causes the above error
        return pingErr
    }
    dbConn.handle = handle
    return nil
}

Я проверил, что служба PostgreSQL запущена, и база данных существует.

1 Ответ

1 голос
/ 13 апреля 2020

Во время написания этого вопроса я снова проверил мои переменные строки подключения / env.

Я понял, что у меня возникла глупая ошибка копирования / вставки за предыдущий день, которую я не проверял:

Строка подключения: host=127.0.0.1 port=5432 port=new_database user=db_user password=XXXXXX

Как видите, есть дополнительная переменная port, которая должна была быть dbname. После исправления этой проблемы все работало как ожидалось.

Строка подключения: host=127.0.0.1 port=5432 dbname=new_database user=db_user password=XXXXXX

TLDR: Всегда повторно проверяйте каждый фрагмент вашего информация о соединении при получении этой (crypti c) ошибки!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...