- Установка и базовая настройка PostgreSQL в Windows 10
- Установка PostgreSQL 11 в Windows 10
- Доступ к PostgreSQL по сети, правила файерволла
- Утилиты управления PostgreSQL через командную строку
- PgAdmin: Визуальный редактор для PostgresSQL
- Query Tool: использование SQL запросов в PostgreSQL
- Дистрибутив PostgreSQL для Windows
- Лицензия
- Замечания по установке
- Поддерживаемые операционные системы
- Параметры установки
- Учетная запись сервиса в Windows
- Поддержка кириллицы
- Ярлыки программ
- Удаление сервера
Установка и базовая настройка PostgreSQL в Windows 10
PostgreSQL — это бесплатная объектно-реляционная СУБД с мощным функционалом, который позволяет конкурировать с платными базами данных, такими как Microsoft SQL, Oracle. PostgreSQL поддерживает пользовательские данные, функции, операции, домены и индексы. В данной статье мы рассмотрим установку и краткий обзор по управлению базой данных PostgreSQL. Мы установим СУБД PostgreSQL в Windows 10, создадим новую базу, добавим в неё таблицы и настроим доступа для пользователей. Также мы рассмотрим основы управления PostgreSQL с помощью SQL shell и визуальной системы управления PgAdmin. Надеюсь эта статья станет хорошей отправной точкой для обучения работы с 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.
Измените значение в пункте port = 5432 . Перезапустите службу сервера postgresql-x64-11 после изменений. Можно перезапустить службу с помощью PowerShell:
Restart-Service -Name postgresql-x64-11
Более подробно о настройке параметров в конфигурационном файле postgresql.conf с помощью тюнеров смотрите в статье.
Утилиты управления PostgreSQL через командную строку
Рассмотрим управление и основные операции, которые можно выполнять с PostgreSQL через командную строку с помощью нескольких утилит. Основные инструменты управления PostgreSQL находятся в папке bin, потому все команды будем выполнять из данного каталога.
- Запустите командную строку.
Основные команды PostgreSQL:
- Проверка установленной версии СУБД: psql –V
- Для создания новой базы данных воспользуйтесь утилитой createdb: createdb -U postgres testdb (где postgres суперпользователь, testdb новая база данных)Введите пароль суперпользователя.
- Проверить список активных баз: 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;
Дистрибутив PostgreSQL для Windows
Компанией Постгрес Профессиональный подготовлены дистрибутивы PostgreSQL для Windows.
Для установки 32 разрядной версии требуется Windows XP SP3 и выше, для установки 64 разрядной — Windows Vista 64bit и выше.
Для установки PosgreSQL на компьютер скачайте и запустите один из следующих файлов (скачивая эти файлы, Вы выражаете согласие с лицензией PostgreSQL):
- PostgreSQL 13.2: 64-разрядная,
- PostgreSQL 12.6: 64-разрядная, 32-разрядная,
- PostgreSQL 11.11: 64-разрядная, 32-разрядная,
- PostgreSQL 10.16: 64-разрядная, 32-разрядная,
- PostgreSQL 9.6.21: 64-разрядная, 32-разрядная.
Некоторые отличия нашей сборки PostgreSQL:
- подбор параметров конфигурации сервера в зависимости от объема установленной памяти
- решены проблемы с кодировкой не латинских сообщений
- дополнительные ярлыки для управления сервером — стоп, старт, рестарт
- фиксы критических багов (включены дополнительные патчи, которые исправляют проблему с правами доступа и критический баг с остановкой Postgres)
Это предварительная версия нашей сборки PosgreSQL. Данное ПО поставляются «как есть», без какой-либо гарантии, явной или подразумеваемой.
Ваши замечания и предложения по нашим сборкам PostgreSQL и по программе установки присылайте по e-mail: info@postgrespro.ru
Лицензия
PostgreSQL распространяется по специальной лицензии PostgreSQL License, свободной open source лицензии, близкой к лицензиям BSD и MIT.
Portions Copyright (c) 1996-2017, The PostgreSQL Global Development Group
Portions Copyright (c) 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN «AS IS» BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
Замечания по установке
Поддерживаемые операционные системы
Данная версия PostgreSQL сервера может быть установлена на компьютеры с ОС Windows XP SP3 и выше. 64-разрядная версия PosgreSQL сервера может быть установлена только на 64 разрядную версию Windows.
Параметры установки
В начале предлагается задать параметры установки сервера. Можно выбрать компоненты, которые будут установлены.
Если обнаружено, что PostgreSQL сервер уже установлен, то предлагается остановить сервер и обновить его. При этом все соединения с сервером будут отключены. Для определения существования сервера используются данные о предыдущих установках из реестра, поэтому, если Вы ранее запускали сервер нестандартно, он может остаться не обнаруженным.
При установке Вы можете задать путь для установки исполняемых файлов севера и путь к каталогу, в котором будут храниться данные. Если по указанному пути уже находятся данные, то будут использоваться они, запрос параметров сервера и инициализации базы данных проводиться не будет.
В процессе установки предлагается ввести параметры сервера — номер порта, имя супер пользователя, пароль и другие. Рекомендуем вводить имя пользователя и пароль только латинскими буквами. Пароль можно оставить и пустым.
Также предлагается провести некоторую оптимизацию параметров сервера исходя из установленной оперативной памяти (если ее больше 1 Gb) . Параметры сохраняются в файл postgresql.conf, который находится в папке с данными. Оптимизируются 2 параметра: shared_buffers и work_mem. Потом Вы можете самостоятельно изменять эти и другие параметры в зависимости от условий эксплуатации сервера.
После установки, сервер запускается и становится готовым к работе. Перезагрузка компьютера не требуется.
Учетная запись сервиса в Windows
Для запуска сервера используется специальная встроенная учетная запись Windows: ‘NT AUTHORITY\NetworkService’. Запуск службы Postgresql-9.4 от другого пользователя можно настроить после установки, например, через программу «Управление компьютером» в Windows .
Поддержка кириллицы
- При запуске psql рекомендуем выполнять команду chcp 1251, которая настраивает правильное отображение русского языка.
- При запуске pgbench рекомендуем выполнять команду chcp 65001, которая настраивает правильное отображение русского языка.
Предупреждение: не следует запускать psql после команды chcp 65001, в противном случае 8-битовые (русские) символы могут отображаться некорректно.
Ярлыки программ
После установки для сервера создаются ярлыки, которыми можно воспользоваться с помощью кнопки Пуск (если она есть в Вашей ОС).
- SQL Shell (psql) — основное, «родное» консольное средство управления сервером и выполнения запросов.
- Reload Configuration — перезагрузить конфигурацию сервера из файлов конфигурации. Следует отметить, что для некоторых параметров требуется перезагрузка сервера.
- Restart Server — остановить и запустить сервер заново. Все активные соединения с сервером будут закрыты.
- Stop Server — остановить сервер. Все активные соединения с сервером будут закрыты.
- Start Server — запустить сервер.
Если Вы установили средство pgAdmin, то для него будут созданы свои ярлыки для запуска.
Удаление сервера
Для удаления сервера выберите ярлык Uninstall или можно использовать панель управления Windows. При удалении сервер останавливается, все активные соединения с сервером будут закрыты. Папка с данными не удаляется. Перезагрузка компьютера не требуется.