Установка та базове налаштування PostgreSQL в Windows 10

PostgreSQL - це безкоштовна об'єктно-реляційна СУБД з потужним функціоналом, який дозволяє конкурувати з платними базами даних, такими як Microsoft SQL, Oracle. PostgreSQL підтримує призначені для користувача дані, функції, операції, домени і індекси. У даній статті ми розглянемо установку і короткий огляд по управлінню базою даних PostgreSQL. Ми встановимо СУБД PostgreSQL в Windows 10, створимо нову базу, додамо в неї таблиці і налаштуємо доступу для користувачів. Також ми розглянемо основи управління PostgreSQL за допомогою SQL shell і візуальної системи управління PgAdmin. Сподіваюся ця стаття стане гарною відправною точкою для навчання роботи з PostgreSQL та використання її в розробці і тестових проектах.

зміст:

  • Установка PostgreSQL 11 в Windows 10
  • Доступ до PostgreSQL по мережі, правила Фаєрвол
  • Утиліти управління PostgreSQL через командний рядок
  • PgAdmin: Візуальний редактор для PostgresSQL
  • Query Tool: використання SQL запитів в PostgreSQL

Установка PostgreSQL 11 в Windows 10

Для установки PostgreSQL перейдіть на сайт https://www.postgresql.org і скачайте останню версію дистрибутива для Windows, на сьогоднішній день це версія PostgreSQL 11 (в 11 версії PostgreSQL підтримуються тільки 64-х бітні редакції Windows). Після завантаження запустіть інсталятор.

В процесі установки встановіть галочки на пунктах:

  • PostgreSQL Server - сам сервер СУБД
  • PgAdmin 4 - візуальний редактор SQL
  • Stack Builder - додаткові інструменти для розробки (можливо вам вони знадобляться в майбутньому)
  • Command Line Tools - інструменти командного рядка

Встановіть пароль для користувача postgres (Він створюється за замовчуванням і має права суперкористувача).

За замовчування СУБД слухає на порту 5432, який потрібно буде додати в виключення в правилах фаєрволла.

Натискаєте Далі, Далі, на цьому установка PostgreSQL завершена.

Доступ до PostgreSQL по мережі, правила Фаєрвол

Щоб дозволити мережевий доступ до вашого екземпляру PostgreSQL з інших комп'ютерів, вам потрібно створити правила в файервол. Ви можете створити правило через командний рядок або PowerShell.

Запустіть командний рядок від імені адміністратора. Введіть команду:

netsh advfirewall firewall add rule name = "Postgre Port" dir = in action = allow protocol = TCP localport = 5432

  • Де rule name - ім'я правила
  • Localport - дозволений порт

Або ви можете створити правило, яке дозволяє TCP / IP доступ до примірника PostgreSQL на порту 5432 за допомогою PowerShell:

New-NetFirewallRule -Name 'POSTGRESQL-In-TCP' -DisplayName 'PostgreSQL (TCP-In)' -Direction Inbound -Enabled True -Protocol TCP -LocalPort 5432

Після застосування команди в брандмауері Windows з'явиться нове дозволяє правило для порту Postgres.

Порада. Для зміни порту в встановленої PostgreSQL відредагуйте файл postgresql.conf по шляху C: \ Program Files \ PostgreSQL \ 11 \ data.

Змініть значення в пункті port = 5432. Перезапустіть службу сервера postgresql-x64-11 після змін. Можна перезапустити службу за допомогою PowerShell:

Restart-Service -Name postgresql-x64-11

Більш докладно про налаштування параметрів в файлі конфігурації postgresql.conf за допомогою тюнерів дивіться в статті.

Утиліти управління PostgreSQL через командний рядок

Розглянемо управління і основні операції, які можна виконувати з PostgreSQL через командний рядок за допомогою декількох утиліт. Основні інструменти управління PostgreSQL знаходяться в папці bin, тому всі команди будемо виконувати з даного каталогу.

  • Запустіть командний рядок.Порада. Перед запуском СУБД, змініть кодування для нормального відображення в російській Windows 10. У командному рядку виконайте: chcp 1251
  • Перейдіть в каталог bin виконавши команду: CD C: \ Program Files \ PostgreSQL \ 11 \ bin

Основні команди PostgreSQL:

  • Перевірка встановленої версії СУБД: psql -V
  • Для створення нової бази даних скористайтеся утилітою createdb: createdb -U postgres testdb (Де postgres привілейований користувач, testdb нова база даних) Введіть пароль користувача root.
  • Перевірити список активних баз: Psql -U postgres -l (Пароль)
  • За допомогою інструменту createuser cоздадім нового користувача: createuser -U postgres operator (Де operator -ім'я нового користувача)
  • Надамо користувачеві повноваження супер (на практиці цього робити не треба). Запустіть інтерактивну командну оболонку управління PostgreSQL (shell): psql -U postgres. За допомогою SQL команди ALTER ROLE надамо потрібні права нашому користувачеві: ALTER ROLE operator SUPERUSER CREATEROLE CREATEDB;. Ми надали користувачеві права суперкористувача, права на створення ролей і баз даних.
  • Для висновки списку користувачів і ролей в СУБД виконайте команду: \ du

PgAdmin: Візуальний редактор для PostgresSQL

Редактор PgAdmin служить для спрощення управління базою даних PostgresSQL в зрозумілому візуальному режимі.

  • Для запуску редактора запустіть PgAdmin 4 в меню Пуск
  • Для доступу потрібно ввести пароль суперкористувача postgres
  • В панелі Servers ви можете розкрити список активних БД.
  • В панелі управління можливо швидко створити нового користувача і групу, надати йому права. Для цього Відкрийте меню Object -> Create -> Create Login / Group.
  • Для створення нової бази даних досить вибрати: Database в меню Object -> Create. У новому полі вказати ім'я бази і власника.

За замовчуванням всі створені бази зберігаються в каталозі base по шляху C: \ Program Files \ PostgreSQL \ 11 \ data \ base.

Для кожної БД існує підкаталог всередині PGDATA / base, названий по OID бази даних в pg_database. Цей підкаталог за замовчуванням є місцем зберігання файлів бази даних; зокрема, там зберігаються її системні каталоги. Кожна таблиця і індекс зберігаються в окремому файлі.

Для резервного копіювання та відновлення краще використовувати інструмент Backup в панелі інструментів Tools. Для автоматизації бекапа PostgreSQL з командного рядка використовуйте утиліту pg_dump.exe.

Query Tool: використання SQL запитів в PostgreSQL

Для написання SQL запитів в зручному графічному редакторі використовується вбудований в pgAdmin інструмент Query Tool. Наприклад, ви хочете створити нову таблицю в базі даних через інструмент Query Tool.

  • Виберіть базу даних, в панелі Tools відкрийте Query Tool
  • Створимо таблицю співробітників:

CREATE TABLE employee
(
Id SERIAL PRIMARY KEY,
FirstName CHARACTER VARYING (30),
LastName CHARACTER VARYING (30),
Email CHARACTER VARYING (30),
Age INTEGER
);

Id - номер співробітника, якому присвоєно ключ SERIAL. Цей рядок буде зберігати числове значення 1, 2, 3 і т.д., яке для кожної нової рядки буде автоматично збільшуватися на одиницю. У наступних рядках записані ім'я, прізвище співробітника і його електронну адресу, які мають тип CHARACTER VARYING (30), тобто представляють рядок довжиною не більше 30 символів. У рядку - Age записаний вік, має тип INTEGER, тому що зберігає числа.

Після того, як написали код SQL запиту в Query Tool, натисніть клавішу F5 і в базі буде створено нову таблиця employee.

Для заповнення полів у властивостях таблиці виберіть таблицю employee в розділі Schemas -> Tables. Відкрийте меню Object інструмент View / Edit Data.

Тут ви можете заповнити дані в таблиці.

Після заповнення даних виконаємо інструментом Query простий запит на вибірку:
select Age from employee;