Как корректно настроить конфигурацию подключения к базе данных PostgreSQL в Node.js?

В данный момент я работаю на macOS и использую следующую базу данных:
  • 6 сентября 2024 г. 17:32
Ответы на вопрос 2
Чтобы корректно настроить соединение с базой данных PostgreSQL в Node.js, вы можете использовать библиотеку `pg` (node-postgres). Вот пошаговая инструкция, как это сделать:

### 1. Установите библиотеку pg

Откройте терминал и выполните следующую команду, чтобы установить библиотеку:

```bash
npm install pg
```

### 2. Настройте подключение к базе данных

Создайте файл, например, `db.js`, в котором вы будете настраивать подключение к вашей базе данных. Пример кода:

```javascript
const { Pool } = require('pg');

// Конфигурация подключения
const pool = new Pool({
    user: 'your_username', // Ваше имя пользователя
    host: 'localhost',      // Хост, по умолчанию localhost
    database: 'your_database_name', // Имя базы данных
    password: 'your_password', // Ваш пароль
    port: 5432,             // Порт PostgreSQL, по умолчанию 5432
});

// Функция для тестирования подключения
const testConnection = async () => {
    try {
        const res = await pool.query('SELECT NOW()');
        console.log('Подключение успешно. Время на сервере:', res.rows[0]);
    } catch (err) {
        console.error('Ошибка подключения к базе данных:', err);
    } finally {
        await pool.end(); // Закрываем пул соединений
    }
};

testConnection();
```

### 3. Замените параметры подключения

Не забудьте заменить следующие параметры на соответствующие вашим настройкам базы данных:

- `your_username` — Имя пользователя, используемое для подключения к базе данных.
- `your_database_name` — Имя базы данных, к которой вы хотите подключиться.
- `your_password` — Пароль для указанного пользователя.

### 4. Запустите ваш скрипт

Чтобы выполнить ваш код и протестировать подключение, запустите скрипт через терминал:

```bash
node db.js
```

### 5. Обработка ошибок

Убедитесь, что вы правильно обрабатываете потенциальные ошибки, такие как неправильные учетные данные или недоступный сервер.

### Полезные советы:

- Поместите конфигурацию подключения в `.env` файл для лучшей безопасности, используя библиотеку `dotenv`. Установите её с помощью `npm install dotenv` и загрузите переменные окружения в вашем скрипте.

Пример `.env` файла:

```plaintext
DB_USER=your_username
DB_HOST=localhost
DB_DATABASE=your_database_name
DB_PASSWORD=your_password
DB_PORT=5432
```

А в вашем `db.js`:

```javascript
require('dotenv').config();

const pool = new Pool({
    user: process.env.DB_USER,
    host: process.env.DB_HOST,
    database: process.env.DB_DATABASE,
    password: process.env.DB_PASSWORD,
    port: process.env.DB_PORT,
});
```

Это позволит вам хранить конфиденциальные данные вне кода, что является хорошей практикой для разработки.

Теперь вы готовы подключаться к PostgreSQL из вашего приложения на Node.js!
имена переменных бери из строки: 
const connectionString = `postgresql://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${database}`;

Хост у тебя судя по скрину - localhost, в крайнем случае используй то что возвращает консоль по команде hostname

чтобы понять что происходит, назначение ключей psql смотри в документации или по команде psql --help
p.s. смотри внимательно сообщение об ошибке
в особо извращенных случаях сервер может быть не локальным, а его адрес прописан у пользователя в домашнем каталоге в .pgpass или pg_service.conf
Похожие вопросы