- Установка и настройка PostgreSQL 13 на Linux Ubuntu Server 20.04
- Установка PostgreSQL 13 на Ubuntu Server 20.04
- Шаг 1 – Подключение репозитория и обновление списка пакетов в системе
- Шаг 2 – Установка необходимых пакетов для PostgreSQL
- Шаг 3 – Проверка установки
- Настройка PostgreSQL 13 в Ubuntu Server 20.04
- Создание пользователя и базы данных в PostgreSQL
- Разрешаем подключение к PostgreSQL по сети
- Видео-инструкция – Установка и настройка PostgreSQL 13 на Ubuntu Server
- Установка PostgreSQL в Ubuntu
- Установка PostgreSQL в Ubuntu 20.04
- 1. Установка из официальных репозиториев
- 2. Установка из официальных репозиториев PostgreSQL
- Настройка PostgreSQL в Ubuntu 20.04
- Создание роли postgresql
- Создание базы данных
- Создание таблиц
- Выводы
Установка и настройка PostgreSQL 13 на Linux Ubuntu Server 20.04
Всем привет! Сегодня мы разберем процесс установки PostgreSQL 13 на операционную систему Linux Ubuntu Server 20.04, а также выполним первоначальную настройку PostgreSQL. В результате у нас получится полноценный сервер баз данных, реализованный на базе Ubuntu Server + PostgreSQL, и данный сервер можно будет использовать в сети предприятия.
Установка PostgreSQL 13 на Ubuntu Server 20.04
Итак, давайте перейдем к установке и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 13 на Ubuntu Server 20.04.
Установку я буду производить удаленно, для подключения к Ubuntu Server буду использовать программу PuTTY.
Заметка! О том, как установить Ubuntu Server, я подробно рассказывал в материале – Установка Linux Ubuntu Server 20.04.
Шаг 1 – Подключение репозитория и обновление списка пакетов в системе
Установку и настройку PostgreSQL необходимо выполнять с правами пользователя root, поэтому давайте сразу переключимся на root.
Для этого пишем команду sudo -i и вводим пароль.
Далее, подключаем репозиторий, который будет содержать актуальную версию PostgreSQL, на текущий момент актуальной версией является PostgreSQL 13, поэтому в данном репозитории хранится именно эта версия, которую мы и будем устанавливать.
Однако, если Вам требуется установить не самую последнюю версию, то на этапе установки пакетов нужно будет указать номер версии в названии пакета, чуть ниже, на соответствующем шаге, я поясню, где именно необходимо указать номер конкретной версии.
Для подключения репозитория вводим следующую команду, которая создает файл в источниках с адресом нужного репозитория.
После этого нам необходимо импортировать ключ подписи репозитория, для этого вводим команду.
Осталось обновить список пакетов в системе, это делаем стандартной командой.
И для проверки того, что теперь нам доступны пакеты PostgreSQL 13, давайте запустим команду поиска пакетов.
Нужные пакеты нам доступны, и мы можем переходить к установке PostgreSQL 13.
Шаг 2 – Установка необходимых пакетов для PostgreSQL
Для установки актуальной версии, т.е. PostgreSQL 13 и базовых стандартных утилит, необходимо установить пакет postgresql, это делается следующей командой.
Чтобы установить какую-то конкретную версию PostgreSQL, необходимо указать номер этой версии в названии пакета, например, для 12 версии необходимо установить пакет postgresql-12.
Шаг 3 – Проверка установки
Чтобы проверить, установился и запущен ли PostgreSQL, давайте выполним следующую команду, которая покажет статус сервиса PostgreSQL.
Как видим, PostgreSQL 13 установился и работает.
Настройка PostgreSQL 13 в Ubuntu Server 20.04
PostgreSQL у нас установлен, однако на текущий момент им пользоваться пока нельзя, поэтому нам необходимо его настроить, в частности создать пользователя, указать, какие сетевые интерфейсы будет прослушивать сервер, а также разрешить подключения по сети.
Создание пользователя и базы данных в PostgreSQL
После установки к серверу PostgreSQL мы можем подключиться только с помощью системного пользователя postgres, причем без пароля.
Давайте переключимся на пользователя postgres (данная учетная запись была создана автоматически во время установки PostgreSQL).
Затем запускаем утилиту psql – это консоль для PostgreSQL.
Первым делом нам нужно задать пароль для пользователя postgres.
Затем создаем нового пользователя на сервере PostgreSQL, так как работать от имени postgres крайне не рекомендуется.
где info_comp – это имя пользователя, ‘123456’ – это его пароль, Вы, соответственно, придумываете и подставляете свои данные.
Далее давайте создадим базу данных.
где test_db – это имя новой базы данных.
Теперь давайте дадим права на управление базой данных нашему новому пользователю.
Все готово, выходим из консоли.
Для проверки давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.
Все работает, я подключился. Для выхода снова набираем \q.
Для переключения обратно на root вводим exit.
Разрешаем подключение к PostgreSQL по сети
По умолчанию PostgreSQL прослушивает только адрес localhost, поэтому, для того чтобы мы могли подключаться по сети, нам нужно указать, какие сетевые интерфейсы будет просушивать PostgreSQL. Я для примера укажу, что прослушивать нужно все доступные интерфейсы. Если у Вас несколько сетевых интерфейсов, и Вы хотите, чтобы PostgreSQL использовал только один конкретный, то Вы его можете указать именно здесь.
Чтобы это сделать, открываем файл postgresql.conf, например, редактором nano.
Находим следующую строку.
и вносим следующие изменения (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).
Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.
Теперь давайте разрешим подключение из сети, я для примера разрешу подключаться из сети 192.168.0.0/24 с методом аутентификации md5.
Для этого открываем файл pg_hba.conf
Ищем следующие строки.
И указываем нужную нам сеть (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).
Далее точно так же сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.
Перезапускаем PostgreSQL, чтобы изменения вступили в силу.
Теперь можно подключаться к нашему серверу PostgreSQL удаленно по сети.
Таким образом, мы установили и настроили систему управления базами данных PostgreSQL 13 на операционной системе Ubuntu Server 20.04.
В следующем материале мы рассмотрим процесс установки на клиентский компьютер инструментов для работы с базами данных PostgreSQL и настроим удаленное подключение к PostgreSQL 13.
Видео-инструкция – Установка и настройка PostgreSQL 13 на Ubuntu Server
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Источник
Установка PostgreSQL в Ubuntu
Реляционные системы управления базами данных (РСУБД) — это ключевой компонент многих веб-сайтов и приложений. Они обеспечивают структурированный способ хранения данных и организацию доступа к информации. PostgreSQL- это объектно-реляционная система управления базами данных, которая все больше и больше вытесняет MySQL и производственных серверов.
Её преимущество в множестве дополнительных функций и улучшений, таких как надежная передача данных и параллелизация без блокировок чтения. Вы можете использовать эту СУБД с различными языками программирования, а её синтаксис запросов PL/pgSQL очень похож на MySQL от Oracle. В этой статье мы рассмотрим, как выполняется установка PostgreSQL в Ubuntu 20.04 из официальных репозиториев и репозитория PostgreSQL (PPA) а так же, как выполнить первоначальную настройку и подготовку к работе c данной СУБД.
Установка PostgreSQL в Ubuntu 20.04
1. Установка из официальных репозиториев
Это очень популярная СУБД, потому программа присутствует в официальных репозиториях. Для установки выполните следующие команды. Сначала обновите списки пакетов:
sudo apt update
Установите СУБД PostgreSQL:
sudo apt -y install postgresql
2. Установка из официальных репозиториев PostgreSQL
Если есть необходимость в получение самой последней версии, то необходимо добавить в систему официальный PPA от разработчиков PostgreSQL. Для этого выполните следующие команды:
sudo sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main» > /etc/apt/sources.list.d/pgdg.list’
wget —quiet -O — https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add —
Далее обновите списки пакетов, чтобы получить самую новую доступную версию:
sudo apt update
Установка PostgreSQL из PPA или официальных репозиториев выглядит одинаково:
sudo apt -y install postgresql
Настройка PostgreSQL в Ubuntu 20.04
После установки СУБД откройте терминал и переключитесь на пользователя postgres с помощью команды:
sudo -i -u postgres
Эта учетная запись создается во время установки программы и на данный момент вы можете получить доступ к системе баз данных только с помощью нее. По умолчанию PostgreSQL использует концепцию ролей для аутентификации и авторизации.
Это очень похоже на учетные записи Unix, но программа не различает пользователей и групп, есть только роли. Сразу после установки PostgreSQL пытается связать свои роли с системными учетными записями, если для имени системной учетной записи существует роль, то пользователь может войти в консоль управления и выполнять позволенные ему действия. Таким образом, после переключения на пользователя postgres вы можете войти в консоль управления:
И посмотреть информацию о соединении:
Чтобы выйти наберите:
Теперь рассмотрим, как создать другие роли и базы данных.
Создание роли postgresql
Вы уже можете полноценно работать с базой данных с помощью учетной записи postgres, но давайте создадим дополнительную роль. Учетная запись postgres является администратором, поэтому имеет доступ к функциям управления. Для создания пользователя выполните команду:
Скрипт задаст лишь два вопроса, имя новой роли и нужно ли делать ее суперпользователем.
Создание базы данных
Точно также как имена ролей сопоставляются с системными пользователями, имя базы данных будет подбираться по имени пользователя. Например, если мы создали пользователя alex, то по умолчанию система попытается получить доступ к базе данных alex. Мы можем ее очень просто создать:
Дальше, чтобы подключиться к этой базе данных нам нужно войти от имени одноименного пользователя:
Заходим в консоль и смотрим информацию о подключении:
Все верно сработало. Мы подключились с помощью роли alex к базе alex. Если нужно указать другую базу данных, вы можете сделать это с помощью опции -d, например:
psql -d postgres
Все сработало верно, при условии, что все компоненты были настроены как описано выше.
Создание таблиц
Теперь, когда вы знаете, как подключится к базе данных PostgreSQL, давайте рассмотрим, как выполняются основные задачи. Сначала разберем создание таблиц для хранения некоторых данных. Для создания таблицы PostgreSQLиспользуется такой синтаксис:
CREATE TABLE имя_таблицы (имя_колонки1 тип_колонки (длина) ограничения, имя_колонки2 тип_колонки (длина), имя_колонки3 тип_колонки (длина));
Как видите, сначала мы задаем имя таблицы, затем описываем каждый столбец. Столбец должен иметь имя, тип и размер, также можно задать ограничения для данных, которые там будут содержаться. Например:
CREATE TABLE playground (equip_id serial PRIMARY KEY, type varchar (50) NOT NULL, color varchar (25) NOT NULL, location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)), install_date date );
Мы создали таблицу детской площадки для описания оборудования, которое на ней есть. Сначала идет идентификатор equip_id, который имеет тип serial, это значит, что его значение будет автоматически увеличиваться, ключ primary key значит, что значения должны быть уникальны.
Следующие колонки — обычные строки, для них мы задаем длину поля, они не могут быть пустыми (NOT NULL). Следующий столбец тоже строка, но она может содержать только одно из указанных значений, последний столбец — дата создания.
Вы можете вывести все таблицы, выполнив команду:
Здесь мы видим, что кроме нашей таблицы, существует еще одна переменная -playground_equip_id_seq. В ней содержится последнее значение этого поля. Если нужно вывести только таблицы, выполните:
Выводы
Теперь установка Postgresql в Ubuntu 20.04 завершена, и вы прошли краткий экскурс в синтаксис PgSQL, который очень похож на привычный нам MySQL, но имеет некоторые отличия. Если у вас остались вопросы, спрашивайте в комментариях!
Источник