Большинство реальных приложений так или иначе взаимодействуют с базами данных. Базы данных упрощают сохранение, анализ и взаимодействие с данными.

Большинство языков программирования предлагают поддержку подключения приложений к базам данных, таким как PostgreSQL. Узнайте, как использовать модуль node-postgres для подключения приложения Node к PostgreSQL.

С чего начать

Чтобы начать с подключения к локальной базе данных, вам потребуется Установлен сервер PostgreSQL.

PostgresSQL — одна из самых распространенных систем реляционных баз данных. благодаря своей гибкости и мощности. Вы можете рассмотреть возможность использования его в качестве альтернативы MySQL, если ваш проект сложный или вы ищете решение, которое соответствует духу открытого исходного кода.

Создайте приложение узла

Первый шаг — создать приложение Node, которое вы будете использовать для тестирования кода подключения. В предпочитаемой папке создайте новую папку.

mkdir postgres-узел

Перейдите в созданную папку и инициализируйте npm.

instagram viewer
CD postgres-узел
инициализация npm -y

Эта команда должна генерировать пакет.json файл.

Затем создайте новый файл и назовите его index.js. В этом файле вы будете подключать Node к PostgreSQL.

Используйте модуль node-postgres

узел-postgres module — это пакет npm, который позволяет подключаться к базе данных PostgreSQL и взаимодействовать с ней. Существует два варианта подключения Node к PostgreSQL с помощью модуля node-postgres: один клиент или пул соединений. Итак, что вы должны использовать?

Используйте один клиент, если вам нужно только одно статическое соединение за раз. Однако, если вам нужно использовать одновременные и множественные запросы, используйте пул соединений.

Установить узел-постгрес

Выполните следующую команду в своем терминале, чтобы установить node-postgres.

нпм установить пг

Если вы используете узел >= 14.x, вам нужно будет установить [email protected] позже. Вы можете указать номер версии, добавив его к команде установки следующим образом.

нпм установить пг=8.7.3

Подключение к PostgreSQL.

Модуль node-postgres требует следующих значений для подключения к базе данных PostgreSQL.

  • PGUSER — имя пользователя PostgreSQL для подключения.
  • PGHOST — имя хоста сервера для подключения.
  • PGPASSWORD — пароль сервера PostgreSQL.
  • PGDATABASE — имя базы данных, к которой вы подключаетесь.
  • PGPORT — номер порта для подключения к узлу сервера.

Создайте файл .env и добавьте эти переменные, заменив соответствующие значения из вашей базы данных:

PGUSER=<PGUSER>
ПРИЗРАК=<ПРИЗРАК>
ПАРОЛЬ=<ПАРОЛЬ>
PGDATABASE=<PGDATABASE>
PGPORT=<ПГПОРТ>

Установите пакет dotenv для доступа к файлу .env.

нпм установить дотенв

В index.js, импортировать и настраивать dotenv.

константа дотенв = требовать("дотенв")
дотенв.config()

Подключение к базе данных PostgreSQL с помощью одного клиента

В приведенном ниже коде показано, как вы можете подключить Node к серверу PostgreSQL с помощью одного клиента.

константа {Клиент} = требовать("пг")
константа дотенв = требовать("дотенв")
дотенв.config()

константа подключитьДб = асинхронный () => {
пытаться {
константа клиент = новый Клиент({
пользователь: процесс.env.PGUSER,
хозяин: процесс.env.PGHOST,
база данных: процесс.env.PGDATABASE,
пароль: процесс.env.PGPASSWORD,
порт: процесс.env.PGPORT
})

Ждите клиент.connect()
const res = ожидание client.query('ВЫБРАТЬ * ИЗ некоторая_таблица')
приставка.log (разрешение)
Ждите клиент.конец()
} ловить (ошибка) {
приставка.лог (ошибка)
}
}

подключитьDb()

Использование пула соединений

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

константа {Бассейн} = требовать("пг");
константа дотенв = требовать("дотенв");
дотенв.config();

константа подключитьДб = асинхронный () => {
пытаться {
константа бассейн = новый Бассейн({
пользователь: процесс.env.PGUSER,
хозяин: процесс.env.PGHOST,
база данных: процесс.env.PGDATABASE,
пароль: процесс.env.PGPASSWORD,
порт: процесс.env.PGPORT,
});

Ждите пул.connect()
const res = ожидание pool.query('ВЫБРАТЬ * ИЗ клиентов)
приставка.log (разрешение)
Ждите бассейн.конец()
} ловить (ошибка) {
приставка.лог (ошибка)
}
}

подключитьDb()

Приведенные выше примеры позволяют вам управлять конфигурацией базы данных через файл .env. Однако вы также можете указать эти значения конфигурации используя стандартные переменные окружения. Такой подход позволяет легко изменять конфигурацию во время запуска.

Рассмотрим следующий код подключения.

константа подключитьДб = асинхронный () => {
пытаться {
константа бассейн = новый Бассейн();
const res = ожидание pool.query('ВЫБРАТЬ * ИЗ клиентов)
приставка.log (разрешение)
Ждите бассейн.конец()
} ловить (ошибка) {
приставка.лог (ошибка)
}
}

В этой программе вы не передаете объект подключения в качестве аргумента при инициализации пула. Вместо этого вы должны указать детали подключения при вызове программы следующим образом:

PGUSER=<PGUSER> \
ПРИЗРАК=<ПРИЗРАК> \
ПАРОЛЬ=<ПАРОЛЬ> \
PGDATABASE=<PGDATABASE> \
PGPORT=<ПГПОРТ> \
узелиндекс.js

Такое подключение Node к PostgreSQL позволяет написать программу, которую можно использовать повторно.

Делайте больше с PostgreSQL

Чтобы создать приложение, взаимодействующее с базами данных, вы должны сначала подключить его к базе данных. В этой статье вы узнали, как подключить Node к базе данных PostgreSQL с помощью модуля node-Postgres.

Помимо PostgreSQL, существуют и другие системы управления базами данных, такие как MySQL, которые вы можете использовать в своем приложении. Выбранный вами инструмент базы данных должен быть максимально совместим с вашими потребностями в данных.