Интеграция PostgreSQL с Node.js и node-postgres
В этой статье мы обсудим, как интегрировать PostgreSQL с Node.js.
Чтобы лучше следовать этой статье, мы рекомендуем вам иметь опыт использования Node.js и операторов SQL. В этой статье мы будем использовать простой синтаксис javascript ES6.
Есть несколько разных клиентов, которые вы можете использовать для интеграции PostgreSQL с Node.js. В этой статье мы будем использовать модуль node-postgres Это популярный и развитый модуль по сравнению с другими клиентами PostgreSQL.
Кроме того, вы также можете использовать PostgreSQL с ORM, например Sequelize . Но мы не будем использовать такой ORM-модуль в этой статье. Вместо этого мы будем использовать простые SQL-запросы, которые затем можно будет использовать для более сложных взаимодействий с базой данных.
PostgreSQL: Документация: 9.6: 32.1. Функции управления подключением к базе данных: Компания Postgres Professional
Я уже очень привык работать с PostgreSQL через командную строку. Всё, что раньше делал в pgAdmin, можно делать и тут, причём быстрее. Я надеюсь, что эта статья убедила вас сделать psql основным инструментом для работы с PostgreSQL, показав удобство и гибкость.
1.1. Строки параметров подключения
Ряд функций libpq получают параметры подключения, разбирая строки, заданные пользователем. Эти строки воспринимаются в двух форматах: простые строки ключ = значение и URI, соответствующие RFC 3986.
32.1.1.1. Строки параметров подключения вида «ключ/значение»
Ключевые слова-параметры, распознаваемые в настоящее время, приведены в Подразделе 32.1.2.
32.1.1.2. URI для подключения
Значения, которые обычно задаются в иерархической части URI , также можно задать в именованных параметрах. Например:
Все именованные параметры должны соответствовать ключевым словам, перечисленным в Подраздел 32.1.2, за исключением того, что вхождения ssl=true заменяются на sslmode=require для совместимости с URI-строками JDBC.
Для включения символов, имеющих специальное значение, в любой части URI можно применять URL-кодирование (с использованием символа %).
Сервер можно представить либо сетевым именем, либо IP-адресом. При использовании протокола IPv6 нужно заключить адрес в квадратные скобки:
Прямые запросы из 1С к базе на PostgreSQL: Статьи и материалы.
Есть несколько разных клиентов, которые вы можете использовать для интеграции PostgreSQL с Node.js. В этой статье мы будем использовать модуль node-postgres Это популярный и развитый модуль по сравнению с другими клиентами PostgreSQL.
Получение справки
Каждый раз когда мне нужно выполнить какую-нибудь редкую или сложную команду SQL, я лезу в справку, благо она всегда доступна через \h .
Как видите, \h даёт справку только по SQL командам. Для внутренних команд psql, которые начинаются с обратного слэша, есть \? .
Работаем с PostgreSQL из psql
Зачастую нам нужно поделиться данными из postgres с сотрудниками, руководством или клиентами, причём желательно в каком-нибудь удобочитаемом формате типа CSV или Excel. Вы уже подготовили запрос, свели всё в одну таблицу, осталось только куда-нибудь это выгрузить. Погуглив psql csv export, можно найти 2 способа. Первый более примитивный.
Создание пользователя, БД и подключение к PostgreSQL в WSL2
Чтобы не подключаться из наших приложений к серверу БД под пользователем postgres, единственному существующему после установки PostgreSQL и обладающим правами суперпользователя, создадим нового пользователя.
Для этого воспользуемся консольным клиентом psql, с помощью которого мы можем из консоли взаимодействовать с сервером PostgreSQL. Запускаем его командой:
Дальше вводим команды (вводя команды в psql не забудьте точки с запятой в конце каждой команды):
Например я создал пользователя django со своим паролем.
Далее создадим базу данных (например blog) и сделаем нового пользователя (в нашем случае django) ее владельцем, для этого выполняем команду:
Нажмите Ctrl + d чтобы выйти из psql.
Готово, теперь вы можете использовать postgres в ваших проектах.
Установка и работа с PostgreSQL в WSL
А что же за схема public? А дело вот в чем, до этого мы создавали таблицы, не указывая никакие имена схем, думаю Вы помните. По умолчанию такие таблицы (и другие объекты) автоматически помещаются в схему ‘public’. Она содержится во всех создаваемых базах данных. Таким образом, до того как мы указали путь поиска нашей новой схемы, команда: