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;