В чем разница между соединением с базой данных/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?

это зависит от ваших потребностей

Другие вопросы по тегам