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 FilesPostgreSQL11data.
Измените значение в пункте
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 FilesPostgreSQL11bin
Основные команды PostgreSQL:
PgAdmin: Визуальный редактор для PostgresSQL
Редактор PgAdmin служит для упрощения управления базой данных PostgresSQL в понятном визуальном режиме.
По умолчанию все созданные базы хранятся в каталоге base по пути C:Program FilesPostgreSQL11database.
Для каждой БД существует подкаталог внутри 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;
В прошлый раз я познакомил тебя
с
основами реляционных баз данных и SQL.
Теперь пришло время настроить рабочую среду. Ты будешь использовать
PostgreSQL в качестве своей СУБД, поэтому для начала ее нужно скачать и установить.
PostgreSQL поддерживает все основные операционные системы. Процесс установки прост, поэтому я постараюсь рассказать
о нем как можно быстрее.
Для Windows и Mac ты можешь загрузить установщик
с
веб-сайта EDB.
EDB больше не предоставляет пакеты для систем GNU/Linux. Вместо этого они рекомендуют вам использовать диспетчер
пакетов твоего дистрибутива.
Установщики включают в себя разные компоненты.
Вот самые важные из них:
- Сервер PostgreSQL (очевидно)
- pgAdmin, графический инструмент для управления базами данных
- Менеджер пакетов для загрузки и установки дополнительных инструментов и драйверов
Windows
Скачав установщик, запусти его как любой другой исполняемый файл. Процесс довольно прямолинеен,
но некоторые вещи все же заслуживают внимания.
Диалоговое окно «Выбрать компоненты» позволяет выборочно устанавливать компоненты.
Если у тебя нет веской причины что-то менять — оставляй все как есть.
По умолчанию PostgreSQL создает суперпользователя с именем postgres
(воспринимай его как учетную запись
администратора сервера базы данных).
Во время установки тебе нужно будет указать пароль для суперпользователя (root).
Позже ты сможешь создать других пользователей и назначать им отдельные доступы и роли.
Мы вернемся к этому позже, а сейчас тебе понадобится учетная запись суперпользователя, чтобы начать использовать СУБД.
Чтобы запустить сервер разработки на твоем компьютере или localhost
, необходимо
назначить ему порт.
Порт по умолчанию — 5432. Если ты устанавливаешь PostgreSQL впервые, то он скорее всего свободен.
Если окажется, что этот порт уже занят другим экземпляром PostgreSQL, ты можешь указать другое значение, например 5433.
После завершения установки ты сможешь запустить SQL Shell, поставляемый с Postgres.
Шаг за шагом ты выберешь сервер, какую базу данных использовать, порт, имя пользователя и пароль.
Используй данные, которые ты вводил на предыдущих шагах.
Поздравляю! Настройка для Windows завершена, и скоро мы начнем писать первые SQL запросы.
Ниже список вариантов установки для других операционных систем.
macOS
Для macOS у тебя есть разные варианты. Можно скачать установщик с сайта EDB и запустить его.
Кроме того, можно использовать Postgres.app
, простое приложение для macOS.
После запуска у тебя появится сервер PostgreSQL, готовый к использованию.
Завершить работу сервера можно просто закрыв приложение.
Кроме того, ты также можете использовать Homebrew
, менеджер пакетов для macOS.
GNU/Linux
Ты можешь найти PostgreSQL в репозиториях большинства дистрибутивов Linux. Установить его можно одним щелчком мыши
из выбранного графического диспетчера пакетов.
Альтернативно, можно использовать установку через терминал.
Ты можешь обратиться к документации твоего дистрибутива для получения дополнительных сведений.
Ubuntu
sudo apt-get install postgresql
Ubuntu PostgreSQL configuration guide
Fedora
sudo yum install postgresql-server postgresql-contrib
Fedora PostgreSQL configuration guide
openSUSE
sudo zypper install postgresql postgresql-server postgresql-contrib
openSUSE PostgreSQL configuration guide
Arch
sudo pacman -S postgresql
Arch PostgreSQL configuration guide
Запуск оболочки PostgreSQL
После установки PostgreSQL, нужно запустить оболочку(shell), с помощью которой ты получишь возможность управлять базой данных.
Открой терминал и введи:
psql
— это оболочка Postgres, аргумент -U
используется для указания пользователя.
Поскольку ты еще не создавал других
пользователей, ты войдешь в систему как суперпользователь postgres
.
После этого нужно будет ввести пароль
суперпользователя, который ты выбрал во время установки.
Как только пароль установлен, база данных PostgreSQL готова к работе!
Если сервер PostgreSQL по какой-то причине не запускается, можешь попробовать запустить его вручную.
sudo systemctl start postgres
Понимание модели клиент-сервер
Я уже упоминал PostgreSQL Server как важный компонент базы данных. Но что такое сервер в этом контексте и зачем он нам нужен?
Для начала тебе необходимо понимать модель клиент-сервер.
Почти все СУБД (PostgreSQL, MySQL и другие) следуют клиент-серверной модели. В ней база данных находится на сервере, и клиент
отправляет запросы на сервер, который их обрабатывает.
Под клиентом здесь подразумевается бекэнд нашего приложения, а запросы в — это SQL операции, такие как SELECT, INSERT, UPDATE и DELETE.
Для разработки любого бекэнда, тебе нужен локальный сервер для экспериментов и тестирования.
Этот локальный сервер аналогичен удаленному, но работает прямо на твоем компьютере.
С точки зрения клиента удаленный и локальный сервер идентичны. После разработки и тестирования ты можешь заставить свой
продукт взаимодействовать с удаленным сервером вместо локального, просто изменив пару параметров.
Некоторые базы данных не используют эту модель, например SQLite, которая хранит все в простом файле на диске. Это хорошо
работает для небольших приложений, но для большинства реальных приложений тебе понадобится архитектура клиент-сервер.
Мета-команды PostgreSQL
Теперь, когда ты все настроил и готов приступить к работе с базой данных, осталось разобрать несколько мета-команд.
Это не SQL запросы, а команды специфичные для PostgreSQL.
В других системах управления базами данных есть их аналоги, но их синтаксис немного отличается.
Всем мета-командам предшествует обратная косая черта , за которой следует фактическая команда.
Список всех баз данных
Чтобы получить список всех баз данных на сервере, ты можешь использовать команду l
.
Ввод этой мета-команды в оболочке Postgres выведет:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
Это список всех имеющихся баз данных и служебная информация, такая как владелец базы данных, кодировка и права доступа.
На данный момент мы пока ничего не создали, а базы данных которые ты видишь на экране — создаются по умолчанию при установке Postgres.
- postgres — это просто пустая база данных.
- «template0» и «template1» — это служебные базы данных, которые служат шаблоном для создания новых баз.
Тебе пока не стоит беспокоиться о них. Если хочешь изучить все детали, то проверь официальную документацию.
Подключаемся к базе данных PostgreSQL
Некоторые команды SQL требуют, чтобы ты сначала вошел в базу данных (например, для создания новой таблицы).
Ты можешь выбрать, в какую базу данных входить, при запуске SQL Shell.
Когда ты находишься внутри оболочки (shell), то можешь использовать команду c
(или connect
), за которой следует имя
базы данных. Если бы у тебя была другая база данных под названием hello_world
, то подключиться к ней можно было бы так:
Полностью в терминале у тебя получится что-то такое:
postgres=# c hello_world
You are now connected to database "hello_world" as user "postgres".
hello_world=#
Обрати внимание, что приглашение оболочки изменилось с postgres
на hello_world
. Это значит, что теперь ты
подключен к базе данных hello_world
, а не postgres
.
Получить список всех таблиц в базе данных
Как и в случае со списком существующих баз данных, ты можешь получить список таблиц внутри конкретной базы данных
с помощью команды dt
.
Перед выполнением этой команды вам необходимо войти в базу данных.
Предположим, ты уже находишься внутри базы hello_world
, и в ней есть таблица с именем my_table
. Набрав dt
, ты
получишь следующее:
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | my_table | table | postgres
Ты можешь увидеть имя таблицы и некоторую другую информацию, такую как схема (мы обсудим схемы в более сложных
руководствах) и владельца.
Владелец (owner) — это пользователь, который создал таблицу.
Если ты создаешь других пользователей и используешь их для создания таблиц, то в последнем столбце будут именно они.
Список пользователей и ролей
Как ты уже знаешь, при установке Postgres создается суперпользователь с именем postgres
.
Список всех пользователей базы данных можно вывести на экран используя команду dg
.
List of roles
Role name | Attributes | Member of
------------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
Обрати внимание, что первый столбец называется — роль (role name).
И весь вывод на экран называется “список ролей” (List of roles), а не список пользователей.
В PostgreSQL пользователи и роли практически
одинаковы.
У ролей есть атрибуты, которые определяют их разрешения, такие как создание баз данных или даже создание
других новых ролей.
Любая роль с атрибутом LOGIN может рассматриваться, как пользователь.
Здесь мы видим только одну роль, суперпользователя по умолчанию.
В реальном мире все будет иначе, потому что использовать только суперпользователя все время опасно.
Вместо этого создают другие роли с меньшими привилегиями.
Это гарантирует, что никто не совершит нежелательных действий по ошибке.
Если у одной из ролей есть доступ только на чтение данных, то с помощью этой роли будет невозможно удалить таблицу или поле.
Твой первый SQL оператор
Наконец, мы все настроили и готовы к работе и знаем основные мета-команды, специфичные для PostgreSQL.
Теперь приступим к изучению языка запросов SQL.
Я покажу тебе несколько базовых примеров, чтобы разобраться в структурированном языке запросов и получить представление о SQL. А более подробно мы рассмотрим операции CRUD это в следующей статье.
Создание новой базы данных
Первое, что тебе нужно узнать при изучении баз данных, — это как создать базу данных.
Создать базу можно сделать с помощью команды CREATE DATABASE
, за которой следует имя базы данных:
Команды и ключевые слова SQL обычно пишутся в верхнем регистре.
На самом деле это не является обязательным требованием, и обычно они нечувствительны к регистру.
То есть ты мог бы написать
И все сработало бы нормально.
Но при написании операторов SQL обычно предпочтительнее прописные буквы. Это
хорошая практика, потому что она может помочь тебе визуально отличить ключевые слова SQL от других частей оператора,
таких как имена таблиц и столбцов.
Заметь, что все стандартные команды в PostgreSQL должны заканчиваться точкой с запятой ;
. Это часть стандарта.
Для мета-команд PostgreSQL точка с запятой не нужна.
Создание таблиц
После того как ты создал новую базу данных, можно приступать к созданию таблиц.
Но, для начала, подключимся к новой базе данных с помощью команды c
, за которой следует имя базы данных:
Теперь, когда ты подключился к базе данных (обратите внимание, что приглашение оболочки SQL теперь включает имя активной
базы данных), ты готов создать свою первую таблицу.
Таблица создается с помощью команды CREATE TABLE, за которой
следует список столбцов таблицы и их типы данных в круглых скобках:
CREATE TABLE products (
id INT,
name TEXT,
quantity INT
)
Это создаст таблицу под названием products
, которая содержит 3 столбца:
id
типаINT
(целое число)name
типаTEXT
(строка)quantity
также типаINT
После создания таблицы перейдем к добавлению данных.
Вставка данных в таблицы PostgreSQL
Чтобы добавить данные в таблицу, используют команду INSERT INTO следующим образом:
INSERT INTO products (id, name, quantity) VALUES (1, 'first product', 20);
Посмотрим на команду INSERT INTO подробнее:
- Команда
INSERT INTO
означает, что вы собираетесь вставить новые данные products
— это имя таблицы в базе данных, в которую ты хочешь вставить данные(id, name, quantity)
— это список столбцов в нашей таблице, разделенных запятыми. Тебе не нужно указывать
все столбцы (иначе какой в смысл?). В некоторых случаях вы хотите выборочно вставлять данные в некоторые
столбцы. Остальные столбцы будут автоматически заполнены значениями по умолчанию.VALUES (1, 'first product', 20)
— это фактические данные, которые будут вставлены в таблицу. «1» — этоid
,
«first product» — этоname
, «20» — этоquantity
.
Выборка данных из SQL таблицы
Теперь, когда ты добавил в таблицу первую запись, ты можешь использовать SQL для
получения содержимого таблицы.
Выборка данных осуществляется с помощью команды SELECT
, и это выглядит следующим
образом:
SELECT id, name, quantity FROM products;
Мы используем команду SELECT
. За ней следует список столбцов, которые мы хотим получить.
Затем мы используем команду FROM
, чтобы указать, из какой таблицы брать данные. На этот раз это таблица products
.
id | name | quantity
---+---------------+----------
1 | first product | 50
Для ситуаций когда ты хочешь выбрать все столбцы которые есть в таблице, ты можешь поставить звездочку вместо списка полей.
Звездочка означает: выбрать все столбцы. Результат останется прежним.
Ты должен обратить внимание на то, как команда SELECT
выбирает столбцы и строки. Столбцы указываются в виде списка и
разделяются запятыми. Затем команда переходит к выбору запрошенных строк.
Если условия не указаны (как в этом случае), будут выбраны все строки в таблице.
Позже мы увидим, как использовать условия с командой WHERE
для создания эффективных запросов.
Обновление данных в PostgreSQL
Представь, что ты запустил свое потрясающее приложение для магазина и получили первый заказ на один из продуктов.
Первое, что нужно сделать — это обновить доступное количество в вашем инвентаре, чтобы в дальнейшем у вас не возникли
проблемы с отсутствием товара на складе.
Для обновления данных ты можешь использовать команду UPDATE
:
UPDATE products SET quantity=49 WHERE id=1;
Давайте разберемся с тем как работает UPDATE
.
Начинаем мы с ключевого слова UPDATE
, за которым следует имя таблицы.
Затем мы используем SET
, чтобы установить новые значения для наших столбцов.
После SET
— пишем имена столбцов, которые
хотим обновить.
За ними — знак равенства и новое обновленное значение.
Также ты можешь обновить сразу несколько столбцов, разделив их запятыми:
UPDATE products SET name='new name', quantity=49 WHERE id=1;
Но стоп, какие строки обновляются этой командой?
Ты уже должны были догадаться об этом. Чтобы указать, какие строки
следует обновить новыми значениями, мы используем команду WHERE
, за которым следует условие.
В этом случае мы сопоставляем строки, используя их столбец id
, и обновляем строку с id
1.
Удаление данных из SQL таблицы
Теперь рассмотрим случай, когда ты прекратил продажу определенного продукта и захотел полностью удалить его из своей
базы данных.
Для этого можно использовать команду DELETE
:
DELETE FROM products WHERE id=1;
Как и при обновлении данных, чтобы определить, какие именно строки мы хотим удалить, нам нужно условие WHERE
.
Удаление таблиц в PostgreSQL
Если вдруг ты решил изменить структуру базы и для этого нужно удалить всю таблицу, то тебе подойдет команда DROP TABLE
:
Это приведет к удалению всей таблицы products
из базы данных.
Будь очень осторожен с командой DELETE
!
Я бы не позавидовал тому, кто “случайно” удалит не ту таблицу из базы данных.
Удаление баз данных PostgreSQL
Точно так же ты можешь удалить из системы всю базу данных:
Заключение
Поздравляю, у тебя все получилось!
Ты установил и запустили PostgreSQL. Ты изучил основные команды SQL и проделали с ними несколько интересных вещей.
Эти несколько простых команд — основа, которую ты будешь использовать большую часть времени при взаимодействии с базами
данных, поэтому тебе следует пойти и потренироваться и изучить самостоятельно. В следующий раз мы погрузимся глубже и
обсудим
Базы данных, роли и таблицы в PostgreSQL
Работа с PostgreSQL не отличается от работы с любой другой СУБД, но знать синтаксис все-таки полезно. Предлагаем вашему вниманию вводный курс по основам.
PostgreSQL – это опенсорсная реляционная СУБД. В статье будет рассматриваться процесс установки, настройки / управления, а также базовые операции с БД.
Установка
Если на вашей машине стоит MacOS, то процесс установки можно запустить командой:
brew install postgresql
На Linux СУБД устанавливается так:
sudo apt-get install postgresql postgresql-contrib
Если у вас другая ОС, есть непонятные моменты или вопросы – обращайтесь в официальный хелп.
После того, как все загружено и установлено, можно проверить, все ли в порядке, и какая стоит версия PostgreSQL. Для этого выполните следующую команду:
postgres --version
Разбираемся с настройками
Работа с PostgreSQL может быть произведена через командную строку (терминал) с использованием утилиты psql – инструмент командной строки PostgreSQL. Попробуйте ввести следующую команду:
psql postgres (для выхода из интерфейса используйте q)
Этой командой вы запустите утилиту psql. Хотя есть много сторонних инструментов для администрирования PostgreSQL, нет необходимости их устанавливать, т. к. psql удобен и отлично работает.
Если вам нужна помощь, введите help (или -h) в psql-терминале. Появится список всех доступных параметров справки. Вы можете ввести help [имя команды], если вам нужна помощь по конкретной команде. Например, если ввести help UPDATE в консоли psql, вы увидите синтаксис команды update.
Description: update rows of a table [ WITH [ RECURSIVE ] with_query [, ...] ] UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ] SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ FROM from_list ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
Если у вас возникает много вопросов – не стоит отчаиваться. Поиск в интернете предоставит массу примеров, ну и официальную документацию psql никто не отменял.
Первым делом необходимо проверить наличие существующих пользователей и баз данных. Выполните следующую команду, чтобы вывести список всех баз данных:
list или l
На рисунке выше вы видите три базы данных по умолчанию и суперпользователя postgres, которые создаются при установке PostgreSQL.
Чтобы вывести список всех пользователей, выполните команду du. Атрибуты пользователя postgres говорят нам, что он суперпользователь.
Основные операции с БД
Чтобы выполнять базовые действия в СУБД, нужно знать Structured Query Language (SQL).
Создание базы данных
Для создания базы данных используется команда create database. В приведенном ниже примере создается база данных с именем proglib_db.
Если вы забыли точку с запятой в конце запроса, знак «=» в приглашении postgres заменяется на «-», как показано на рисунке ниже. Это зачастую указывает на то, что необходимо завершить (дописать) запрос.
На картинке нам сообщают об ошибке из-за того, что в нашем случае база уже создана. Вы поймете, что к чему, когда начнете писать более длинные запросы.
Создание нового юзера
Для создания пользователя существует команда create user. В приведенном ниже примере создается пользователь с именем author.
При создании пользователя отобразится сообщение CREATE ROLE. Каждый пользователь имеет свои права (доступ к базам, редактирование, создание БД / пользователей и т. д.). Вы могли заметить, что столбец Attributes для пользователя author пуст. Это означает, что пользователь author не имеет прав администратора. Он может только читать данные и не может создать другого пользователя или базу.
Вы можете установить пароль для существующего пользователя. С этой задачей справится команда password:
postgres=#password author
Чтобы задать пароль при создании пользователя, можно использовать следующую команду:
postgres=#create user author with login password 'qwerty';
Удаление базы или пользователя
Для этой операции используется команда drop: она умеет удалять как пользователя, так и БД.
drop database <database_name> drop user <user_name>
Данную команду нужно использовать очень осторожно, иначе удаленные данные будут потеряны, а восстановить их можно только из бэкапа (если он был).
Если вы укажете psql postgres (без имени пользователя), то postgreSQL пустит вас под стандартным суперюзером (postgres). Чтобы войти в базу данных под определенным пользователем, можно использовать следующую команду:
psql [database_name] [user_name]
Давайте войдем в базу proglib_db под пользователем author. Нажмите q, чтобы выйти из текущей БД, а затем выполните следующую команду:
Дополнительная литература
- Beginning PostgreSQL on the Cloud. Работа с PostgreSQL начинается с этой книги. Приступать к изучению чего-то нового лучше с практики. Эта публикация включает в себя огромное количество полезных рабочих примеров, взятых из реальных проектов.
- Администрирование PostgreSQL 9. Книга рецептов. Отличная настольная книга для разработчиков боевых проектов на PHP, Ruby, .NET, Java и Python. Рассматриваются распространенные общие вопросы по архитектуре, восстановлению, репликации и т. д.
- Семь баз данных за семь недель. Данная книга подойдет для общего развития специалиста с любым уровнем знаний. Автор рассказывает об организации каждой СУБД, а также о том, в каком случае выгодно выбрать ту или иную БД.
Надеемся, что наш небольшой туториал помог вам разобраться с основами.
Работа с PostgreSQL не так страшна, как кажется. Удачи в изучении!
Оригинал
Другие материалы по теме:
- 5 лучших материалов по PostgreSQL
- Подборка материалов для изучения баз данных и SQL
- О языке SQL на примере SQLite, MySQL и PostgreSQL
Приветствую Вас на сайте Info-Comp.ru! В этом материале мы с Вами подробно рассмотрим процесс установки PostgreSQL 12 на операционную систему Windows 10. Кроме этого мы также установим и настроим pgAdmin 4 – это стандартный и бесплатный графический инструмент управления СУБД PostgreSQL, который мы можем использовать для написания SQL запросов, разработки процедур, функций, а также для администрирования PostgreSQL.
Содержание
- Что такое PostgreSQL?
- Системные требования для установки PostgreSQL 12 на Windows
- Установка PostgreSQL 12 и pgAdmin 4 на Windows 10
- Шаг 1 – Скачивание установщика для Windows
- Шаг 2 – Запуск установщика PostgreSQL
- Шаг 3 – Указываем каталог для установки PostgreSQL 12
- Шаг 4 – Выбираем компоненты для установки
- Шаг 5 – Указываем каталог для хранения файлов баз данных
- Шаг 6 – Задаем пароль для системного пользователя postgres
- Шаг 7 – Указываем порт для экземпляра PostgreSQL
- Шаг 8 – Указываем кодировку данных в базе
- Шаг 9 – Проверка параметров установки PostgreSQL
- Шаг 10 – Запуск процесса установки
- Шаг 11 – Завершение установки
- Запуск и настройка pgAdmin 4
- Подключение к серверу PostgreSQL 12
- Установка русского языка в pgAdmin 4
- Пример написания SQL запроса в Query Tool (Запросник)
- Видео-инструкция – Установка PostgreSQL 12 и pgAdmin 4 на Windows 10
PostgreSQL — это бесплатная объектно-реляционная система управления базами данных (СУБД). PostgreSQL реализована для многих операционных систем, например, таких как: BSD, Linux, macOS, Solaris и Windows.
В PostgreSQL используется язык PL/pgSQL.
Заметка!
- Что такое СУБД
- Что такое SQL
- Что такое T-SQL
PL/pgSQL – это процедурное расширение языка SQL, разработанное и используемое в СУБД PostgreSQL.
Язык PL/pgSQL предназначен для создания функций, триггеров, он добавляет управляющие структуры к языку SQL, и он помогает нам выполнять сложные вычисления.
PostgreSQL — одна из самых популярных систем управления базами данных (ТОП 5 популярных систем управления базами данных).
На момент написания статьи самая актуальная версия PostgreSQL 12, именно ее мы и будем устанавливать.
Системные требования для установки PostgreSQL 12 на Windows
PostgreSQL 12 можно установить не на все версии Windows, в частности официально поддерживаются следующие версии и только 64 битные:
- Windows Server 2012 R2;
- Windows Server 2016;
- Windows Server 2019.
Как видим, в официальном перечне нет Windows 10, однако установка на данную систему проходит без проблем, как и последующее функционирование PostgreSQL.
Кроме этого есть и другие требования:
- Процессор как минимум с частотой 1 гигагерц;
- 2 гигабайта оперативной памяти;
- Как минимум 512 мегабайт свободного места на диске (рекомендуется больше для установки дополнительных компонентов);
- Также рекомендовано, чтобы все обновления операционной системы Windows были установлены.
Установка PostgreSQL 12 и pgAdmin 4 на Windows 10
Итак, давайте перейдем к процессу установки, и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 12 и pgAdmin 4 на Windows 10.
Шаг 1 – Скачивание установщика для Windows
Как было уже отмечено, PostgreSQL реализован для многих платформ, но, так как мы будем устанавливать PostgreSQL на Windows, нам, соответственно, нужен установщик под Windows. Скачать данный дистрибутив можно, конечно же, с официального сайта PostgreSQL, вот страница загрузки — https://www.postgresql.org/download/windows/
После перехода на страницу необходимо нажимать на ссылку «Download the installer», в результате Вас перенесёт на сайт компании EnterpriseDB, которая и подготавливает графические дистрибутивы PostgreSQL для многих платформ, в том числе и для Windows, поэтому можете сразу переходить на этот сайт, вот ссылка на страницу загрузки https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Здесь Вам необходимо выбрать версию PostgreSQL и платформу, в нашем случае выбираем PostgreSQL 12 и Windows x86-64.
В итоге должен загрузиться файл postgresql-12.2-2-windows-x64.exe размером примерно 191 мегабайт (на момент написания статьи доступна версия 12.2-2).
Шаг 2 – Запуск установщика PostgreSQL
Теперь, чтобы начать установку, необходимо запустить скаченный файл (установка PostgreSQL требует прав администратора).
После запуска откроется окно приветствия, нажимаем «Next».
Заметка! Установка и настройка PostgreSQL 12 на Debian 10.
Шаг 3 – Указываем каталог для установки PostgreSQL 12
Далее, в случае необходимости мы можем указать путь к каталогу, в который мы хотим установить PostgreSQL 12, однако можно оставить и по умолчанию.
Нажимаем «Next».
Шаг 4 – Выбираем компоненты для установки
Затем выбираем компоненты, которые нам необходимо установить, для этого оставляем галочки напротив нужных нам компонентов, а обязательно нам нужны PostgreSQL Server и pgAdmin 4. Утилиты командной строки и Stack Builder устанавливайте по собственному желанию, т.е. их можно и не устанавливать.
Нажимаем «Next».
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Шаг 5 – Указываем каталог для хранения файлов баз данных
На этом шаге нам необходимо указать каталог, в котором по умолчанию будут располагаться файлы баз данных. В случае тестовой установки, например, для обучения, можно оставить и по умолчанию, однако «боевые» базы данных всегда должны храниться в отдельном месте, поэтому, если сервер PostgreSQL планируется использовать для каких-то других целей, лучше указать отдельный диск.
Нажимаем «Next».
Шаг 6 – Задаем пароль для системного пользователя postgres
Далее нам нужно задать пароль для пользователя postgres – это администратор PostgreSQL Server с максимальными правами.
Вводим и подтверждаем пароль. Нажимаем «Next».
Заметка! Как создать таблицу в PostgreSQL с помощью pgAdmin 4.
Шаг 7 – Указываем порт для экземпляра PostgreSQL
На данном шаге в случае необходимости мы можем изменить порт, на котором будет работать PostgreSQL Server, если такой необходимости у Вас нет, то оставляйте по умолчанию.
Нажимаем «Next».
Шаг 8 – Указываем кодировку данных в базе
Затем мы можем указать конкретную кодировку данных в базе, для этого необходимо выбрать из выпадающего списка нужную Locale.
Однако можно оставить и по умолчанию, жмем «Next».
Шаг 9 – Проверка параметров установки PostgreSQL
Все готово к установке, на данном шаге проверяем введенные нами ранее параметры и, если все правильно, т.е. все то, что мы и вводили, нажимаем «Next».
Шаг 10 – Запуск процесса установки
Далее появится еще одно дополнительное окно, в котором мы должны нажать «Next», чтобы запустить процесс установки PostgreSQL на компьютер.
Установка началась, она продлится буквально минуту.
Шаг 11 – Завершение установки
Когда отобразится окно с сообщением «Completing the PostgreSQL Setup Wizard», установка PostgreSQL 12, pgAdmin 4 и других компонентов будет завершена.
Также в этом окне нам предложат запустить Stack Builder для загрузки и установки дополнительных компонентов, если Вам это не нужно, то снимайте галочку «Lanch Stack Builder at exit?».
Нажимаем «Finish».
Заметка! Как перенести базу данных PostgreSQL на другой сервер с помощью pgAdmin 4.
Запуск и настройка pgAdmin 4
PostgreSQL 12 и pgAdmin 4 мы установили, теперь давайте запустим pgAdmin 4, подключимся к серверу и настроим рабочую среду pgAdmin.
Чтобы запустить pgAdmin 4, зайдите в меню пуск, найдите пункт PostgreSQL 12, а в нем pgAdmin 4.
Подключение к серверу PostgreSQL 12
pgAdmin 4 имеет веб интерфейс, поэтому в результате у Вас должен запуститься браузер, а в нем открыться приложение pgAdmin 4.
При первом запуске pgAdmin 4 появится окно «Set Master Password», в котором мы должны задать «мастер-пароль», это можно и не делать, однако если мы будем сохранять пароль пользователя (галочка «Сохранить пароль»), например, для того чтобы каждый раз при подключении не вводить его, то настоятельно рекомендуется придумать и указать здесь дополнительный пароль, это делается один раз.
Вводим и нажимаем «ОК».
Чтобы подключиться к только что установленному локальному серверу PostgreSQL в обозревателе серверов, щелкаем по пункту «PostgreSQL 12».
В итоге запустится окно «Connect to Server», в котором Вам нужно ввести пароль системного пользователя postgres, т.е. это тот пароль, который Вы придумали, когда устанавливали PostgreSQL. Вводим пароль, ставим галочку «Save Password», для того чтобы сохранить пароль и каждый раз не вводить его (благодаря функционалу «мастер-пароля», все сохраненные таким образом пароли будут дополнительно шифроваться).
Нажимаем «OK».
В результате Вы подключитесь к локальному серверу PostgreSQL 12 и увидите все объекты, которые расположены на данном сервере.
Заметка! Как создать базу данных в PostgreSQL с помощью pgAdmin 4.
Установка русского языка в pgAdmin 4
Как видите, по умолчанию интерфейс pgAdmin 4 на английском языке, если Вас это не устраивает, Вы можете очень просто изменить язык на тот, который Вам нужен. pgAdmin 4 поддерживает много языков, в том числе и русский.
Для того чтобы изменить язык pgAdmin 4, необходимо зайти в меню «File -> Preferences».
Затем найти пункт «User Languages», и в соответствующем поле выбрать значение «Russian». Для сохранения настроек нажимаем «Save», после этого перезапускаем pgAdmin 4 или просто обновляем страницу в браузере.
В результате pgAdmin 4 будет русифицирован.
Заметка! Как создать составной тип данных в PostgreSQL.
Пример написания SQL запроса в Query Tool (Запросник)
Для того чтобы убедиться в том, что наш сервер PostgreSQL работает, давайте напишем простой запрос SELECT, который покажет нам версию сервера PostgreSQL.
Для написания SQL запросов в pgAdmin 4 используется инструмент Query Tool или на русском «Запросник», его можно запустить с помощью иконки на панели или из меню «Инструменты».
После того как Вы откроете Query Tool, напишите
SELECT VERSION()
Этот запрос показывает версию PostgreSQL.
Как видите, все работает!
Видео-инструкция – Установка PostgreSQL 12 и pgAdmin 4 на Windows 10
На сегодня это все, надеюсь, материал был Вам полезен, удачи!
Системы управления реляционными базами данных (СУБД) могут хранить большой объем данных, используя табличную структуру базы данных. РСУБД широко используются для выполнения операций с базами данных, таких как создание, администрирование и управление малыми и большими рабочими нагрузками.
PostgreSQL — фантастический инструмент для использования, но запустить его в Windows может быть немного сложно. Таким образом, позвольте нам рассказать вам, как настроить PostgreSQL в Windows и как можно скорее приступить к работе с базой данных.
PostgreSQL — это программное обеспечение для управления базами данных, основанное на SQL. Это программное обеспечение корпоративного уровня известно своей универсальностью и масштабируемостью. Его гибкость позволяет одновременно обрабатывать различные уровни рабочих нагрузок с одной или нескольких машин. Более того, он может без проблем работать со всем складом одновременно работающих пользователей.
PostgreSQL заслужил прочную репутацию благодаря своей проверенной архитектуре, надежности, целостности данных, надежным наборам функций и расширяемости. Приверженность сообществу разработчиков ПО с открытым исходным кодом позволяет этому ПО постоянно предлагать высокопроизводительные и инновационные решения.
Как установить PostgreSQL в Windows
Процесс установки PostgreSQL в Windows немного отличается от его аналогов в Linux. Вам необходимо установить сервер базы данных Postgre и графический инструмент для администрирования базы данных.
Хотя вы можете загрузить их оба по отдельности, вам все равно придется настраивать их вместе, что само по себе может стать проблемой. Поэтому лучше всего загрузить и установить комплектный установщик.
Чтобы запустить установку, посетите официальный Сайт PostgreSQL и выберите Скачать. На следующей странице выберите Windows, поскольку мы загружаем совместимую версию для ОС Windows.
На странице установщика Windows нажмите Загрузить установщик. В разделе «Поддержка платформы» вы найдете некоторую релевантную информацию для каждой из выпущенных версий. Лучше всего отметить последнюю версию, доступную для скачивания.
Нажав на «Загрузить установщик», вы попадете на страницу загрузки базы данных PostgreSQL. В зависимости от версии вашего компьютера вы можете выбрать Windows x86-64 или Windows x86-32.
Выберите последнюю версию PostgreSQL в диалоговом окне и нажмите кнопку загрузки рядом с ней. Это должно начать загрузку установки.
После загрузки EXE-файла щелкните по нему, чтобы начать установку. Программа установки спросит вас о целевом каталоге и деталях компонента.
Из списка компонентов вы можете выбрать одно из следующего:
-
Сервер PostgreSQL
-
pgAdmin4
-
Строитель стека
-
Инструменты командной строки
Связанный: Как установить и настроить Microsoft SQL Server на Ubuntu
Рекомендуется установить все четыре флажка, поскольку каждое приложение будет полезно в ближайшем будущем.
На следующем экране вам нужно будет установить супер-пароль для суперпользователя базы данных. Создайте пароль и нажмите Далее.
На следующем экране оставьте номер порта без изменений и нажмите Далее. Вы должны увидеть сводку перед установкой, в которой перечислены все детали, которые вы настроили. Просмотрите каждый аспект установки и, если все в порядке, нажмите «Далее».
Появится диалоговое окно «Готово к установке». Щелкните Далее, чтобы начать установку.
Подключение к PostgreSQL с помощью pgAdmin4
Есть два способа подключить PostgreSQL к серверу. Вы можете использовать обычный метод командной строки или инструмент pgAdmin, который предварительно загружается после процесса установки в Windows.
Подключение к PostgreSQL с помощью приложения pgAdmin
-
Запустите приложение pgAdmin из папки с файлами программы или с помощью функции поиска Windows.
-
Войдите в клиент pgAdmin, используя мастер-пароль, который вы использовали в процессе установки.
-
Нажмите на опцию Create Server и введите необходимые данные, такие как Host, Port, Maintenance Database, Username и Password.
-
Нажмите на опцию Сохранить. Созданный сервер теперь отображается на вкладке слева.
-
Дважды щелкните имя сервера и введите пароль для подключения к серверу PostgreSQL.
Подключение к PostgreSQL с помощью командного окна
После установки вы можете найти оболочку SQL (PSQL) в меню «Пуск». Здесь вы будете вводить любые соответствующие команды SQL.
Чтобы вывести список всех доступных баз данных с помощью PSQL, введите l и нажмите Enter.
Как создать новую базу данных в PostgreSQL
Чтобы создать новую базу данных, введите CREATE DATABASE test, где test — это имя базы данных.
Чтобы получить доступ к новой базе данных, закройте терминал PSQL и снова откройте его. Приложение запомнит имя сервера, порт, имя пользователя и пароль, которые вы использовали в прошлый раз.
Перед повторным подключением измените имя Postgres на имя установленной вами базы данных, затем нажмите Enter.
Как создавать и отображать таблицы в PostgreSQL
Чтобы создать таблицу в существующей базе данных, используйте следующую команду:
СОЗДАТЬ ТАБЛИЦУ ЛИЦО (
ID BIGSERIAL NOT NULL PRIMARY KEY,
ИМЯ VARCHAR (100) НЕ NULL,
COUNTRY VARCHAR (50) NOT NULL);
Эта команда создаст таблицу person в тесте базы данных и также добавит к ней несколько имен переменных. Настройте эти переменные в соответствии со своими потребностями.
Чтобы вывести список всех таблиц в базе данных, используйте команду dt. Если вы используете эту команду с приведенным выше примером, вы заметите, что в базе данных Test есть только одна таблица с именем Person.
Связанный: Как создать таблицу в SQL
Как изменить учетные данные корневого пользователя
Вы можете изменить пароль Postgres после входа в систему как пользователь root. Для этого используйте следующую команду:
ALTER USER postgres PASSWORD ‘newpassword’;
Измените новый пароль на пароль по вашему выбору.
Создание и удаление роли пользователя в PostgreSQL
Многие люди одновременно работают над проектом с разными ролями. Вы можете создавать разные роли, которые имеют разный доступ в PostgreSQL, используя консоль Windows. Вы также можете выбрать, следует ли предоставлять статус суперпользователя вновь созданной роли.
Чтобы предоставить кому-либо доступ, запустите консоль Windows и измените каталог по умолчанию на каталог bin PostgreSQL (например, C: Program Files PostgreSQL 9.0 bin) или добавьте этот каталог в переменную среды Path.
Теперь используйте в консоли следующий код:
createuser.exe —createdb —username postgres —no-createrole —pwprompt openpg
Вы можете изменить команды, чтобы изменить привилегии ролей. Вам будет предложено выбрать статус суперпользователя для роли. Введите y для Да или n для Нет, а затем назначьте пароль для создания новой роли.
Вы можете удалить роль пользователя из списка других пользователей, используя следующую команду:
УДАЛИТЬ имя ПОЛЬЗОВАТЕЛЯ [, …];
Работа с PostgreSQL в Windows
PostgreSQL — невероятный инструмент для надежного и надежного управления базами данных. Процесс установки Windows относительно прост и требует всего нескольких щелчков мышью для настройки и запуска.
Relational Database Management Systems (RDBMS) can store a large amount of data using the tabular arrangement of a database. RDBMS are widely used to perform database operations like creating, administering, and managing small and large workloads.
PostgreSQL is a fantastic tool to use, but it can be a little daunting to get it up and running in Windows. As such, let us guide you through how to set up PostgreSQL on Windows and get started with your database as soon as possible.
What You Need to Know About PostgreSQL
PostgreSQL is a database management software based on SQL. This enterprise-level software is known for its versatility and scalability. Its flexibility allows it to handle different levels of workloads from single and multiple machines simultaneously. Even better, it can function seamlessly with an entire warehouse of concurrent users.
PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature sets, extensibility. The dedication of the open-source community behind the software allows this software to deliver performant and innovative solutions consistently.
How to Install PostgreSQL on Windows
The PostgreSQL installation process on Windows is slightly different from its Linux counterparts. You need to install the Postgre Database Server and a graphical tool to administer the database.
While you can download both of them separately, you would still need to configure them together, which can be a challenge of its own. It is, therefore, best to download and install a bundled installer.
To kickstart the installation, visit the official PostgreSQL website and select Download. On the next page, select Windows since we are downloading a compatible version for Windows OS.
On the Windows Installer page, click on Download the Installer. Under the Platform Support section, you will notice some relevant information for each of the released versions. It’s best to note the latest version available for Download.
Clicking on Download the Installer brings you to the PostgreSQL Database Download page. Depending on the version of your computer, you can choose between Windows x86-64 or Windows x86-32.
Select the latest PostgreSQL version from the dialogue box and click on the download button next to it. This should start the setup download for you.
Once the EXE file downloads, click on it to begin the setup. The setup will ask you about the destination directory and component details.
From the list of components, you can choose from the following:
- PostgreSQL Server
- pgAdmin4
- Stack Builder
- Command Line Tools
It’s a good idea to check all four boxes, as each application will be useful in the near future.
On the next screen, you will be to set up a super password for the database superuser. Create a password and then click Next.
On the next screen, leave the port number unchanged and click Next. You should see a pre-installation summary that lists all the details you’ve set up. Review each aspect of the installation, and if everything looks fine, click on Next.
The Ready to Install dialogue box will appear. Click on Next to begin the installation.
Connecting to PostgreSQL with pgAdmin4
There are two ways to connect PostgreSQL to a server. You can either use the conventional command-line method or the pgAdmin tool that comes preloaded after the installation process on Windows.
Connecting to PostgreSQL Using the pgAdmin Application
- Launch the pgAdmin application from the program files folder or using the Windows Search feature.
- Log in to the pgAdmin client using the master password that you used during the installation process.
- Click on the Create Server option and fill in necessary details like Host, Port, Maintenance Database, Username and Password.
- Click on the Save option. The created server is now visible on the left side tab.
- Double click on the server’s name and enter the password to connect to the PostgreSQL server.
Connecting to PostgreSQL Using the Command Window
Post-installation, you can search for the SQL shell (PSQL) in the Start menu. This is where you will enter any relevant SQL commands.
To list all the available databases with PSQL, type in l and hit Enter.
How to Create a New Database in PostgreSQL
To Create a New Database, type CREATE DATABASE test, where test is the name of the database.
To access the new database, close the PSQL terminal and reopen it again. The application will remember the server name, port, user name, and password you used last time.
Before you reconnect, change the Postgres name to your set databases’ name, then press Enter.
How to Create and List Tables in PostgreSQL
To create a table within an existing database, use the following command:
CREATE TABLE PERSON (
ID BIGSERIAL NOT NULL PRIMARY KEY,
NAME VARCHAR(100) NOT NULL,
COUNTRY VARCHAR(50) NOT NULL );
This command will create a table person within the database test and add a few variable names to it as well. Tweak these variables to suit your own needs.
To list all tables in a database, use the dt command. If you use this command with the above example, you will notice there is only one table called Person in the database Test.
How to Modify the Root User Credentials
You can change the Postgres password after logging in as the root user. To do this, use the following command:
ALTER USER postgres PASSWORD 'newpassword';
Change newpassword to the password of your choice.
Creating and Removing a User Role in PostgreSQL
Many people work simultaneously on a project with different roles. You can create different roles that have different accesses in PostgreSQL by using the Windows console. You can also choose whether to grant a superuser status to the newly created role.
To grant someone access, run the Windows console and change the default directory to the PostgreSQL bin directory (For instance, C:Program FilesPostgreSQL9.0bin) or add this directory to the Path environment variable.
Now use the following code in the console:
createuser.exe --createdb --username postgres --no-createrole --pwprompt openpg
You can modify the commands to change the role privileges. You will be prompted to choose the superuser status for the role. Enter y for Yes or n for No and then assign a password to create the new role.
You can remove a user role from the list of other users using the following command:
DROP USER name [, ...];
Working With PostgreSQL in Windows
PostgreSQL is an incredible tool to manage databases reliably and in a foolproof manner. The Windows installation process is relatively simple and requires only a few clicks to get set up and running.
Relational Database Management Systems (RDBMS) can store a large amount of data using the tabular arrangement of a database. RDBMS are widely used to perform database operations like creating, administering, and managing small and large workloads.
PostgreSQL is a fantastic tool to use, but it can be a little daunting to get it up and running in Windows. As such, let us guide you through how to set up PostgreSQL on Windows and get started with your database as soon as possible.
What You Need to Know About PostgreSQL
PostgreSQL is a database management software based on SQL. This enterprise-level software is known for its versatility and scalability. Its flexibility allows it to handle different levels of workloads from single and multiple machines simultaneously. Even better, it can function seamlessly with an entire warehouse of concurrent users.
PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature sets, extensibility. The dedication of the open-source community behind the software allows this software to deliver performant and innovative solutions consistently.
How to Install PostgreSQL on Windows
The PostgreSQL installation process on Windows is slightly different from its Linux counterparts. You need to install the Postgre Database Server and a graphical tool to administer the database.
While you can download both of them separately, you would still need to configure them together, which can be a challenge of its own. It is, therefore, best to download and install a bundled installer.
To kickstart the installation, visit the official PostgreSQL website and select Download. On the next page, select Windows since we are downloading a compatible version for Windows OS.
On the Windows Installer page, click on Download the Installer. Under the Platform Support section, you will notice some relevant information for each of the released versions. It’s best to note the latest version available for Download.
Clicking on Download the Installer brings you to the PostgreSQL Database Download page. Depending on the version of your computer, you can choose between Windows x86-64 or Windows x86-32.
Select the latest PostgreSQL version from the dialogue box and click on the download button next to it. This should start the setup download for you.
Once the EXE file downloads, click on it to begin the setup. The setup will ask you about the destination directory and component details.
From the list of components, you can choose from the following:
- PostgreSQL Server
- pgAdmin4
- Stack Builder
- Command Line Tools
It’s a good idea to check all four boxes, as each application will be useful in the near future.
On the next screen, you will be to set up a super password for the database superuser. Create a password and then click Next.
On the next screen, leave the port number unchanged and click Next. You should see a pre-installation summary that lists all the details you’ve set up. Review each aspect of the installation, and if everything looks fine, click on Next.
The Ready to Install dialogue box will appear. Click on Next to begin the installation.
Connecting to PostgreSQL with pgAdmin4
There are two ways to connect PostgreSQL to a server. You can either use the conventional command-line method or the pgAdmin tool that comes preloaded after the installation process on Windows.
Connecting to PostgreSQL Using the pgAdmin Application
- Launch the pgAdmin application from the program files folder or using the Windows Search feature.
- Log in to the pgAdmin client using the master password that you used during the installation process.
- Click on the Create Server option and fill in necessary details like Host, Port, Maintenance Database, Username and Password.
- Click on the Save option. The created server is now visible on the left side tab.
- Double click on the server’s name and enter the password to connect to the PostgreSQL server.
Connecting to PostgreSQL Using the Command Window
Post-installation, you can search for the SQL shell (PSQL) in the Start menu. This is where you will enter any relevant SQL commands.
To list all the available databases with PSQL, type in l and hit Enter.
How to Create a New Database in PostgreSQL
To Create a New Database, type CREATE DATABASE test, where test is the name of the database.
To access the new database, close the PSQL terminal and reopen it again. The application will remember the server name, port, user name, and password you used last time.
Before you reconnect, change the Postgres name to your set databases’ name, then press Enter.
How to Create and List Tables in PostgreSQL
To create a table within an existing database, use the following command:
CREATE TABLE PERSON (
ID BIGSERIAL NOT NULL PRIMARY KEY,
NAME VARCHAR(100) NOT NULL,
COUNTRY VARCHAR(50) NOT NULL );
This command will create a table person within the database test and add a few variable names to it as well. Tweak these variables to suit your own needs.
To list all tables in a database, use the dt command. If you use this command with the above example, you will notice there is only one table called Person in the database Test.
How to Modify the Root User Credentials
You can change the Postgres password after logging in as the root user. To do this, use the following command:
ALTER USER postgres PASSWORD 'newpassword';
Change newpassword to the password of your choice.
Creating and Removing a User Role in PostgreSQL
Many people work simultaneously on a project with different roles. You can create different roles that have different accesses in PostgreSQL by using the Windows console. You can also choose whether to grant a superuser status to the newly created role.
To grant someone access, run the Windows console and change the default directory to the PostgreSQL bin directory (For instance, C:Program FilesPostgreSQL9.0bin) or add this directory to the Path environment variable.
Now use the following code in the console:
createuser.exe --createdb --username postgres --no-createrole --pwprompt openpg
You can modify the commands to change the role privileges. You will be prompted to choose the superuser status for the role. Enter y for Yes or n for No and then assign a password to create the new role.
You can remove a user role from the list of other users using the following command:
DROP USER name [, ...];
Working With PostgreSQL in Windows
PostgreSQL is an incredible tool to manage databases reliably and in a foolproof manner. The Windows installation process is relatively simple and requires only a few clicks to get set up and running.
Инструкция по установке PostgreSQL и созданию демонстрационной базы данных для самостоятельного запуска запросов из курса
Если вы хотите не просто смотреть видео курса «Основы SQL», но и самостоятельно экспериментировать с SQL запросами и видеть результаты их выполнения на живой базе данных, то можете установить бесплатную систему управления базами данных PostgreSQL и создать в ней демонстрационную базу с данными, которые показаны в видео. Эта статья содержит подробные инструкции по установке и настройке.
Установка PostgreSQL
В учебном курсе «Основы SQL» для демонстрации работы SQL используется PostgreSQL. Сейчас это самая популярная из бесплатных систем управления базами данных. Все SQL запросы в курсе проверены на работоспособность именно в PostgreSQL. Однако большая часть запросов использует синтаксис стандарта ANSI SQL, поэтому они будут работать и в других системах, включая MySQL, Microsoft SQL Server и Oracle. Вы можете использовать любую систему управления базами данных, которая вам нравится, но я рекомендую PostgreSQL.
1. Загрузите PostgreSQL для вашей операционной системы на странице Downloads официального сайта. Я устанавливал на Windows, если вы используете другую операционную систему, то выбирайте соответствующие ссылки для загрузки. Примеры в курсе проверены на PostgreSQL 13, поэтому рекомендую устанавливать именно эту версию. Однако на предыдущих версиях, начиная с PosgreSQL 10, также все должно работать.
Инсталлятор для Windows и Mac OS загружается с сайта компании EDB, которая предоставляет платную поддержку для PostgreSQL. Однако PostgreSQL, которую вы установите с помощью этого инсталлятора от EDB, будет полностью бесплатной.
2. Запустите скачанный инсталлятор PostgreSQL.
Если вы устанавливаете PostgreSQL только для использования в курсе «Основы SQL», то можете оставить почти все настройки по умолчанию, кроме локали, для которой нужно выбрать «Russian, Russia» (русский язык в стране Россия).
Не забудьте запомнить или записать пароль пользователя postgres, он вам понадобится для подключения к базе и выполнения запросов!
После завершения установки инсталлятор предложит вам запустить Stack Builder для установки дополнительных утилит и компонентов. Этого можно не делать, просто снимите галочку в пункте «Stack Builder…» и нажмите кнопку «Finish».
На этом установка PostrgreSQL завершена.
Запуск и настройка pgAdmin
В курсе мы будем работать с PostrgreSQL через Web-интерфейс pgAdmin. Несмотря на Admin в названии, этот инструмент подходит не только администраторам, но и разработчикам.
pgAdmin устанавливается вместе с PostgreSQL. В Windows запустить pgAdmin можно в меню Пуск.
При первом запуске pgAdmin просит задать Master Password. Он будет использоваться для безопасного сохранения паролей к базам данных PosgreSQL, с которыми вы работаете через pgAdmin. Master Password можно выбрать любой, главное, запомните или запишите его.
Для удобства можно переключить интерфейс pgAdmin на русский язык. Для этого выберите меню File->Preferences, в появившемся окне в меню слева выберите Miscellaneous -> User Language, а затем в поле User Language справа «Russian».
Для вступления в силу настроек языка интерфейса нужно нажать кнопку «Save» и перезапустить pgAdmin.
После перезапуска выбирайте в левом меню Servers -> PostgreSQL, после чего pgAdmin запросит пароль пользователя postgres, который вы задали в процессе установки PostgreSQL. Введите этот пароль (можете поставить галочку «Save Password» чтобы pgAdmin запомнил пароль) и вы подключитесь к базе PostgreSQL.
Список существующих на сервере баз данных показывается в левом окне pgAdmin. Нас интересует база данных postgres, схема public и таблицы в ней. pgAdmin показывает много другой информации, не пугайтесь, если вы пока не понимаете, что это такое. Многое мы разберем в курсе, но преимущественно все это нужно только администраторам базы данных.
Пока в нашей базе нет никаких таблиц. Давайте создадим демонстрационные таблицы, которые используются в курсе, и заполним их данными.
Создание демонстрационной базы
1. Скачайте файл с демонстрационной базой данных курса «Основы SQL». Файл называется «sql_foundation» и имеет расширение .sql.
Файл содержит набор операторов SQL, которые создают используемые в курсе таблицы и заполняют их данными. Если вы пока не понимаете, что именно делают эти операторы, не расстраивайтесь. В курсе мы подробно рассмотрим работу каждого оператора и все будет понятно. На начальном этапе изучения курса необходимо просто запустить этот файл в pgAdmin.
2. Загрузите скачанный файл в pgAdmin. Для этого в меню pgAdmin выберите Инструменты->Запросник (в английском вариант Query Tool). В панели инструментов Запросника выберите кнопку открытия файла и в появившемся окне выберите путь к загруженному sql файлу с демонстрационной базой курса.
3. Запустите загруженный файл в pgAgmin. Для этого нажмите на кнопку запуска в панели инструментов Запросника или на клавишу F5.
4. Проверьте правильность выполнения запроса. В нижней части экрана pgAdmin, на закладке «Сообщения» должны появиться результаты выполнения.
Основное, на что нужно обратить внимание — это сообщение «Запрос завершен успешно». Если такое сообщение появилось, значит все хорошо.
Если вы запускаете файл создания демонстрационной базы курса первый раз, то будет выведено несколько Замечаний, что таблицы не существуют. Их можно игнорировать.
Также в левой части интерфейса pgAdmin появится информация о созданных таблицах.
Итак, демонстрационные таблицы для курса «Основы SQL» созданы и заполнены данными, можно запускать SQL запросы.
Запуск SQL запросов в pgAdmin
В pgAdmin для запуска SQL запросов используется уже знакомый нам инструмент Запросник. Давайте откроем окно Запросника и напишем самый первый SQL запрос из видео про Оператор SELECT.
Запрос пишется в среднем окне, закладка Query Editor. Для запуска запроса нажимаем F5 или кнопку Execute в панели инструментов Запросника.
Полученные в ходе выполнения запроса данные показываются в нижней части окна, на закладке «Результат».
Использование SQL Shell (psql)
Если вы предпочитаете работать в командной строке, а не в громоздких приложениях типа pgAdmin, то можете использовать консольную утилиту для работы с PosgreSQL: SQL Shell (ранее она называлась psql).
SQL Shell, также как и pgAdmin, устанавливается совместно с PostgreSQL. В Windows запустить SQL Shell можно через меню Пуск.
После запуска SQL Shell задаст ряд вопросов о параметрах подключения к PostgreSQL, можно оставить все значения по умолчанию (если вы не меняли настройки при установке). После этого введите пароль пользователя postgres и можете начинать работать с базой данных.
Если вам не повезло, то в Windows SQL Shell запустится с неправильной кодировкой для русского языка, будет выдавать предупреждение и некоторые русские буквы будут выводиться неправильно.
Чтобы решить эту проблему, нужно прописать правильную кодировку в файл для запуска SQL Shell. В моем случае файл называется «C:Program FilesPostgreSQL13scriptsrunpsql.bat». В этот файл нужно добавить строку:
chcp 1251
После добавления строки с установкой правильной кодировки файл runpsql. bat стал выглядеть следующим образом.
Сохраняем файл runpsql. bat, перезапускаем SQL Shell, после этого проблем с русской кодировкой быть не должно.
Для создания демонстрационной базы курса в SQL Shell выполните следующую команду:
i 'C:/путь/к/файлу/sql_foundation.sql'
i означает import — загрузка файла sql в базу данных.
Обратите, пожалуйста, внимание:
1. Путь к файлу sql_foundation.sql нужно указывать в одиночных кавычках. Если будете использовать двойные кавычки, то не заработает.
2. В пути используются прямые слеши (/), как в Linux/Unix, несмотря на то, что мы работаем под Windows. Если писать обратные слеши (), как это принято в Windows, то будет выдаваться ошибка «Permission denied». Не очень информативное поведение SQL Shel.
Запросы в SQL Shell можно писать прямо в командной строке.
Запрос в SQL Shell может занимать несколько строк, как в примере на рисунке. Запрос запускается после ввода ; (точка с запятой) или команды g.
Результаты выполнения запроса показываются сразу же после него.
Полезная функция SQL Shell — история команд. Если нажимать стрелки вверх или вниз, то можно увидеть, какие команды были запущены ранее и повторить интересующую вас команду.
Итоги
В этой статье вы узнали, как установить PostgreSQL и как создать в нем демонстрационную базу для курса «Основы SQL». Также вы настроили и научились использовать два инструмента работы с PostgreSQL: pgAdmin и SQL Shell. Не обязательно использовать оба, выбирайте тот, который вам больше нравится: pgAdmin с Web-интерфейсом или командную строку SQL Shell.
В процессе экспериментов с SQL запросами в курсе вы можете случайно повредить созданную базу. В этом нет ничего страшного, базу данных можно легко пересоздать повторно запустив sql файл с операторами по созданию базы. При этом все имеющиеся таблицы будут удалены, заново созданы и заполнены данными. Все изменения, которые вы вносили, будут потеряны.