Поиск по сайту:

Как установить PostgreSQL в Ubuntu 20.04 [Быстрый старт]


Введение

Язык запросов SQL. Он соответствует стандартам и имеет множество дополнительных функций, таких как надежные транзакции и параллелизм без блокировки чтения.

В этом руководстве показано, как быстро настроить и запустить Postgres на сервере Ubuntu 20.04, от установки PostgreSQL до настройки нового пользователя и базы данных. Если вы предпочитаете более подробное руководство по установке и управлению базой данных PostgreSQL, см. раздел Установка и использование PostgreSQL в Ubuntu 20.04.

Предпосылки

Чтобы следовать этому руководству, вам понадобится один сервер Ubuntu 20.04, настроенный в соответствии с нашим руководством по начальной настройке сервера для Ubuntu 20.04. После завершения этого обязательного руководства на вашем сервере должен быть пользователь без полномочий root с разрешениями sudo и базовым брандмауэром.

Шаг 1 — Установка PostgreSQL

Чтобы установить PostgreSQL, сначала обновите локальный индекс пакетов вашего сервера:

  1. sudo apt update

Затем установите пакет Postgres вместе с пакетом -contrib, который добавляет некоторые дополнительные утилиты и функции:

  1. sudo apt install postgresql postgresql-contrib

Убедитесь, что служба запущена:

  1. sudo systemctl start postgresql.service

Шаг 2 — Использование ролей и баз данных PostgreSQL

По умолчанию Postgres использует концепцию, называемую «ролями», для обработки аутентификации и авторизации. В некотором смысле они аналогичны обычным пользователям и группам в стиле Unix.

После установки Postgres настраивается на использование аутентификации ident, что означает, что он связывает роли Postgres с соответствующей системной учетной записью Unix/Linux. Если в Postgres существует роль, имя пользователя Unix/Linux с таким же именем может войти в систему в качестве этой роли.

Процедура установки создала учетную запись пользователя с именем postgres, связанную с ролью Postgres по умолчанию. Есть несколько способов использовать эту учетную запись для доступа к Postgres. Один из способов — переключиться на учетную запись postgres на вашем сервере, выполнив следующую команду:

  1. sudo -i -u postgres

Затем вы можете получить доступ к командной строке Postgres, выполнив:

  1. psql

Вы войдете в командную строку PostgreSQL, и отсюда вы сможете сразу взаимодействовать с системой управления базой данных.

Чтобы выйти из приглашения PostgreSQL, выполните следующее:

  1. \q

Это вернет вас в командную строку postgres Linux. Чтобы вернуться к обычному системному пользователю, выполните команду exit:

  1. exit

Другой способ подключиться к командной строке Postgres — запустить команду psql от имени учетной записи postgres напрямую с помощью sudo:

  1. sudo -u postgres psql

Это позволит вам напрямую войти в Postgres без промежуточной оболочки bash между ними.

Опять же, вы можете выйти из интерактивного сеанса Postgres, выполнив следующее:

  1. \q

Шаг 3 — Создание новой роли

Если вы вошли в систему как учетная запись postgres, вы можете создать новую роль, выполнив следующую команду:

  1. createuser --interactive

Если вместо этого вы предпочитаете использовать sudo для каждой команды, не переключаясь с вашей обычной учетной записи, запустите:

  1. sudo -u postgres createuser --interactive

В любом случае сценарий предложит вам несколько вариантов и, основываясь на ваших ответах, выполнит правильные команды Postgres для создания пользователя в соответствии с вашими требованиями.

Output
Enter name of role to add: sammy Shall the new role be a superuser? (y/n) y

Шаг 4 — Создание новой базы данных

Еще одно предположение, которое система аутентификации Postgres делает по умолчанию, заключается в том, что для любой роли, используемой для входа в систему, эта роль будет иметь базу данных с тем же именем, к которой она может получить доступ.

Это означает, что если пользователя, которого вы создали в последнем разделе, зовут sammy, эта роль попытается подключиться к базе данных, которая по умолчанию также называется «sammy». Вы можете создать соответствующую базу данных с помощью createdb команда.

Если вы вошли в систему как учетная запись postgres, вы должны ввести что-то вроде следующего:

  1. createdb sammy

Если вместо этого вы предпочитаете использовать sudo для каждой команды, не переключаясь с вашей обычной учетной записи, вы должны запустить:

  1. sudo -u postgres createdb sammy

Шаг 5 — Открытие командной строки Postgres с новой ролью

Чтобы войти с аутентификацией на основе ident, вам понадобится пользователь Linux с тем же именем, что и у вашей роли и базы данных Postgres.

Если у вас нет соответствующего пользователя Linux, вы можете создать его с помощью команды adduser. Вам нужно будет сделать это из своей учетной записи без полномочий root с привилегиями sudo (это означает, что вы не вошли в систему как пользователь postgres):

  1. sudo adduser sammy

Как только эта новая учетная запись будет доступна, вы можете переключиться и подключиться к базе данных, выполнив следующее:

  1. sudo -i -u sammy
  2. psql

Или вы можете сделать это встроенным:

  1. sudo -u sammy psql

Эта команда автоматически войдет в систему, предполагая, что все компоненты настроены правильно.

Если вы хотите, чтобы ваш пользователь подключался к другой базе данных, вы можете сделать это, указав базу данных следующим образом:

  1. psql -d postgres

После входа в систему вы можете проверить текущую информацию о подключении, запустив:

  1. \conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Заключение

Теперь вы настроили PostgreSQL на своем сервере Ubuntu 20.04. Если вы хотите узнать больше о Postgres и о том, как его использовать, мы рекомендуем вам ознакомиться со следующими руководствами:

  • Сравнение систем управления реляционными базами данных
  • Попрактикуйтесь в выполнении запросов с помощью SQL