В чем разница между соединением с базой данных/sql и пулом pgx на golang?
Я пытаюсь использовать ent на golang с поддержкой базы данных postgresql.
Текущий устаревший код использует pgxpool для пула соединений. Ноent
не поддерживает пул pgx и поддерживает только стандартный пул соединенийdatabase/sql
.
В чем разница между двумя? Можно ли использовать стандартный пул соединений с базой данных PostgreSQL? или я должен использовать для этого пул pgx?
1 ответ
TL/DR;
- база данных/sql — это интерфейс для доступа к любым механизмам баз данных.
- pgx — один из драйверов postgres (pq тоже драйвер postgres)
- pgxpool — часть pgx, которая может работать с пулами соединений postgres
базу данных/sql можно инициализировать для работы с драйвером pgx для postgres.db, err := sql.Open("pgx", databaseDsn)
Можно ли использовать стандартный пул соединений с базой данных PostgreSQL? или мне следует использовать для этого пул pgx?
это зависит от ваших потребностей