Определение структуры данных
Для создания базы данных используется команда CREATE DATABASE , после которой указывается название базы данных.
Для выполнения запросов будем использовать графический клиент pgAdmin, хотя также можно использовать консольный клиент psql.
Чтобы создать новую базу, данных откроем pgAdmin . В левой части программы выберем какую-нибудь базу данных, например, стандартную бд postgres, и нажмем на нее правой кнопкой мыши.
В появившемся меню выберем пункт Query Tool. , и в центральной части программы откроется поле для ввода кода SQL. В это поле введем следующий код:
CREATE DATABASE usersdb;

Для выполнения кода нажмем на значок молнии, и после этого будет создана база данных usersdb.
Чтобы увидеть нашу базу данных, нажмем в левой части на узел Databases правой кнопкой мыши и в контекстном меню выберем Refresh. :

Произойдет обновление, и мы увидем созданную базу данных.

По умолчанию база является неактивной, поэтому ее значок имеет серый цвет. Но чтобы к ней подключиться, достаточно нажать на нее и раскрыть ее узел.
Удаление базы данных
Для удаления базы данных применяется команда DROP DATABASE , после которой указывается название базы данных.
Удаляемая база данных должна быть неактивной, то есть подключение к ней должно быть закрыта.
Например, удаление базы данных usersdb:
DROP DATABASE usersdb;
Как начать работу с облачной базой данных PostgreSQL в Selectel
Инструкция о том, как создать облачную базу данных PostgreSQL в панели управления Selectel и подключиться к ней.
Эта инструкция — часть курса «PostgreSQL для новичков».
Смотреть весь курс
Введение
Чтобы начать работу с облачной базой данных PostgreSQL, вам нужно зарегистрироваться в панели управления Selectel, а затем следовать инструкции ниже.
- Создайте проект.
- Создайте кластер.
- Создайте пользователя.
- Создайте базу данных.
- Подключитесь к кластеру.
Как начать работу с базой данных PostgreSQL в Selectel, можно также посмотреть в нашем ролике.
Создать кластер
1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
2. Нажмите Создать кластер.
3. Введите имя кластера.
5. Выберите версию PostgreSQL. После создания версию будет нельзя изменить.
- фиксированная — конфигурации с разным соотношением виртуальных процессорных ядер, оперативной памяти и локального диска до 32 vCPU, 128 ГБ RAM и 1 ТБ диска;
- произвольная — свободный выбор соотношения ресурсов до 8 vCPU, 64 ГБ RAM и 1024 ГБ диска.
7. Опционально: отметьте чекбокс Добавить реплики и укажите количество реплик. Реплики повышают отказоустойчивость кластера.
8. Выберите тип подсети, к которой будет подключен кластер:
- приватная подсеть — подсеть без доступа из интернета;
- публичная подсеть — все адреса публичной подсети доступны из интернета. Публичный IP-адрес использовать нельзя. Адреса присваиваются каждой ноде в кластере. Убедитесь, что количество адресов в сети не меньше количества нод в кластере. Если после создания кластера вы планируете увеличить количество реплик, то выберите сеть, в которой есть запас свободных адресов. После создания кластера сеть нельзя изменить. Вы можете ограничить список адресов, с которых будет разрешен доступ в кластер баз данных.
- transaction — соединение назначено на клиента на время транзакции;
- session — соединение назначено, пока клиент подключен;
- statement — транзакции с несколькими операторами запрещены.
11. Опционально: измените настройки СУБД, для этого нажмите Изменить. Мы рекомендуем менять значения настроек только при необходимости — неправильно подобранные значения могут снизить производительность кластера.
12. Нажмите Создать кластер баз данных. Кластер будет готов к работе, когда перейдет в статус ACTIVE.
Создать пользователя-владельца базы данных
Перед созданием базы данных PostgreSQL нужно создать пользователя, который будет владельцем базы данных.
Владелец базы данных PostgreSQL — это пользователь, которому переходят права владения объектами удаленных пользователей. В отличие от пользователя, владелец базы данных имеет доступ ко всем ее объектам и может совершать операции с ними.
Позднее вы можете добавить пользователей, настроить для них доступ к базе данных и привилегии. Подробнее в инструкции Управление пользователями в нашей документации.
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера баз данных → вкладка Пользователи.
- Нажмите Создать пользователя.
- Введите имя и пароль. Сохраните пароль — в панели управления он храниться не будет.
- Нажмите Сохранить.
Создать базу данных
Если у вас уже есть база данных PostgreSQL, данные из которой вы хотите перенести в облачные базы данных Selectel, вы можете использовать для переноса логическую репликацию или логический дамп. Подробнее в инструкции Миграция баз данных PostgreSQL в облачные базы данных в нашей документации.
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера → вкладка Базы данных.
- Нажмите Создать базу данных.
- Введите имя базы данных.
- Выберите пользователя-владельца базы данных.
- Введите локаль набора символов (LC_CTYPE) — отвечает за классификацию символов и различия в их регистре. Подробнее о локалях в документации PostgreSQL.
- Введите локаль сортировки (LC_COLLATE) — определяет настройки сравнения строк и символов, а также влияет на сортировку.
- Нажмите Создать.
Подключиться к кластеру
К кластеру облачных баз данных PostgreSQL можно подключиться по DNS-адресу.
Если кластер подключен к приватной подсети, подключите к подсети кластера облачный роутер с доступом во внешнюю сеть.
Порты
Для подключения к PostgreSQL используйте порты:
- 5433 — порт для подключения к выбранной ноде через пулер соединений — позволяет снизить нагрузку на PostgreSQL;
- 5432 — порт для подключения напрямую к процессу PostgreSQL.
Способы подключения
- через терминальный клиент psql;
- через графические инструменты для управления базами данных: pgAdmin или офисный пакет с поддержкой ODBC или JDBC;
- из программного кода с SSL и без SSL.
Для всех способов доступно подключение с SSL-сертификатом.
Посмотреть адрес для подключения
1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
2. Откройте страницу кластера баз данных → вкладка Подключение.
3. В блоке DNS-адреса для подключения посмотрите DNS-адрес.
Подключиться с SSL
Подключение по SSL обеспечивает шифрование данных между вашим сервером и кластером баз данных.
1. Скачайте корневой сертификат и поместите его в папку `~/.postgresql/`:
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt
2. Подключитесь к кластеру:
psql --host= \ --port= \ --user= \ --dbname= \ --sslmode=verify-ca
- — DNS-адрес ноды;
- — порт для подключения;
- — имя пользователя базы данных;
- — имя базы данных.
Заключение
В этой инструкции мы рассказали, как создать облачную базу данных PostgreSQL в панели управления Selectel и подключиться к ней, и дали ссылки на смежные инструкции в нашей документации по продукту.
Как работают облачные базы данных PostgreSQL в Selectel
8 книг по PostgreSQL для новичков и профессионалов
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Настройка СУБД PostgreSQL
После установки СУБД postgreSQL необходимо создать БД для работы с ПАУ, а так же, настроить доступ к БД и серверу.
Важно: следует понимать, что параметры настройки будут отличаться от тех, которые приняты в разных компаниях и должны быть одобрены системным администратором, отвечающим за обслуживание сети и сервера
Ниже приведены типовые настройки для доступа к СУБД PosgtreSQL
Установка pgAdmin
- Необходимо скачать утилиту для конфигурирования и настройки СУБД PostgreSQL с официального сайта
- Установить утилиту можно как на локальный ПК, так и на сервер под управлением ОС Windows
- Запустить pgAdmin
Если вы используете Internet Explorer и у вас проблемы с пользовательским интерфейсом pgAdmin вам нужно сделать следующее:
- Перейти в трей на панели задач Windows

2. Правой кнопкой мыши нажать на иконку запущенного pgAdmin
3. Выбрать пункт Copy server URL
4. Открыть любой другой браузер (не Internet Explorer)
5. Вставить ссылку в адресную строку
Подключение к СУБД PostgreSQL
- Подключение к серверу

- Задать имя сервера На вкладке General в поле Name указать имя сервера (любое)

3. Задать адрес для подключения
На вкладке Connection указать параметры подключения:

- Если СУБД установлена на удаленном ПК или сервере, то в поле Hostname/address указать адрес или имя ПК/сервера, например: 192.168.0.123 или company-server;
- Если СУБД установлена на локальный ПК, то в поле Hostname/address следует указать имя сервера localhost.
4. Задать порт для подключения
На вкладке Connection указать параметры подключения:
- Если СУБД установлена на удаленном ПК или сервере, то в поле Hostname/address указать адрес или имя ПК/сервера, например: 192.168.0.123 или company-server;
- Если СУБД установлена на локальный ПК, то в поле Hostname/address следует указать имя сервера localhost.

5. Указать пароль для пользователя
На стадии установки СУБД PostgreSQL было предложено ввести пароль суперпользователя и сейчас необходимо указать его в поле Password ;
6. Сохранить настройки с помощью кнопки Save
Создание базы данных
После настройки подключения к СУБД PostgreSQL необходимо создать БД, для этого:
- В окне Browser выбрать сервер, к которому было настроено подключение;
- В меню Object выбрать пункт Create -> Database ;

- В появившемся окне, в поле Database необходимо ввести ama ;

- Сохранить параметры базы данных с помощью кнопки Save
- База данных создана!
Создание пользователя
- Задать имя пользователя


2. Задать пароль пользователя


3. Задать права пользователя. На рисунке ниже изображён минимальный перечень прав для работы с базой данных ПАУ.
Настройка прав для пользователей базы данных по умолчанию
1) В списке баз данных выбрать нужную. Нажать правой кнопкой мыши, по ней, и выбрать пункт меню Properties.

2) Перейти на вкладку Default Priveleges
3) Нажать на «+» и выбрать пользователя, на которого настраиваются права
4) Задать права выбранного пользователя

Настройка прав пользователя через Grant Wizard
При добавлении новых пользователей в базу данных с уже сформированной структурой можно воспользоваться инструментом Grant Wizard, чтобы быстро настроить права нового пользователя для работы с множеством существующих объектов базы данных. Для этого нужно сделать следующее:
1. Выбрать базу данных, и открыть пункт tools в верхнем меню и выбрать инструмент GrantWizard

2. В окне инструмента GrantWizard на первом шаге необходимо выбрать объекты на которые будут выданы права. Проставить галочки нужно на все объекты и нажать Next

3. На втором шаге потребуется выбрать перечень операций над объектами, которые будут доступны пользователю. Для этого кликаем на +, чтобы добавить «привелегию» и задаём пользователя, из списка пользователей и ролей в колонке Grantee. В колонке Privileges выбираем перечень операций. Минимальный перечень для работы с базой ПАУ, указан на рисунке

4. На третьем шаге просто нажимаем кнопку Finish
21.2. Создание базы данных
Для создания базы данных сервер PostgreSQL должен быть развёрнут и запущен (см. Раздел 17.3).
База данных создаётся SQL-командой CREATE DATABASE:
CREATE DATABASE имя;
где имя подчиняется правилам именования идентификаторов SQL . Текущий пользователь автоматически назначается владельцем. Владелец может удалить свою базу, что также приведёт к удалению всех её объектов, в том числе, имеющих других владельцев.
Создание баз данных это привилегированная операция. Как предоставить права доступа, описано в Разделе 20.2.
Поскольку для выполнения команды CREATE DATABASE необходимо подключение к серверу базы данных, возникает вопрос как создать самую первую базу данных. Первая база данных всегда создаётся командой initdb при инициализации пространства хранения данных (см. Раздел 17.2.) Эта база данных называется postgres. Далее для создания первой «обычной» базы данных можно подключиться к postgres.
Вторая база данных template1, также создаётся во время инициализации кластера. При каждом создании новой базы данных в рамках кластера по факту производится клонирование шаблона template1. При этом любые изменения сделанные в template1 распространяются на все созданные впоследствии базы данных. Следует избегать создания объектов в template1, за исключением ситуации, когда их необходимо автоматически добавлять в новые базы. Более подробно в Разделе 21.3.
Для удобства, есть утилита командной строки для создания баз данных, createdb.
createdb dbname
Утилита createdb не делает ничего волшебного, она просто подключается к базе данных postgres и выполняет ранее описанную SQL-команду CREATE DATABASE. Подробнее о её вызове можно узнать в createdb . Обратите внимание, что команда createdb без параметров создаст базу данных с именем текущего пользователя.
Замечание: Глава 19 содержит информацию о том, как ограничить права на подключение к заданной базе данных.
Иногда необходимо создать базу данных для другого пользователя и назначить его владельцем, чтобы он мог конфигурировать и управлять ею. Для этого используйте одну из следующих команд:
CREATE DATABASE dbname OWNER rolename;
из среды SQL, или:
createdb -O rolename dbname
из командной строки ОС. Лишь суперпользователь может создавать базы данных для других (для ролей, членом которых он не является).
| Пред. | Начало | След. |
| Обзор | Уровень выше | Шаблоны баз данных |
