📌 Установка PostgreSQL на Ubuntu
На Ubuntu можно установить PostgreSQL через пакетный менеджер apt
или из официального репозитория PostgreSQL для получения последних версий.
🔹 1. Установка стандартной версии из репозиториев Ubuntu
🔹 Обновляем пакеты:
sudo apt update && sudo apt upgrade -y
🔹 Устанавливаем PostgreSQL:
sudo apt install -y postgresql postgresql-contrib
postgresql
– основной сервер базы данных.postgresql-contrib
– дополнительные расширения (например,ltree
,uuid-ossp
).
🔹 Проверяем статус службы:
sudo systemctl status postgresql
Ожидаемый вывод:
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (running)
🔹 Запускаем PostgreSQL (если не запущен):
sudo systemctl start postgresql
🔹 Добавляем в автозапуск:
sudo systemctl enable postgresql
🔹 2. Установка последней версии PostgreSQL
Стандартный репозиторий Ubuntu может содержать устаревшую версию PostgreSQL. Чтобы установить самую новую, добавьте официальный репозиторий PostgreSQL.
📌 Установка последней версии
🔹 Добавляем репозиторий PostgreSQL:
sudo apt install -y wget gnupg
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/postgresql.asc
🔹 Добавляем репозиторий:
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
🔹 Обновляем пакеты и устанавливаем последнюю версию PostgreSQL:
sudo apt update
sudo apt install -y postgresql
🔹 Проверяем установленную версию:
psql --version
Пример вывода:
psql (PostgreSQL) 15.2
🔹 3. Настройка PostgreSQL
После установки PostgreSQL создаётся пользователь postgres
, который управляет сервером.
📌 1️⃣ Войти в PostgreSQL
Переключаемся в системного пользователя postgres
:
sudo -i -u postgres
Запускаем psql
:
psql
Вывод:
postgres=#
📌 2️⃣ Создание нового пользователя и базы данных
Создаём нового пользователя (замените myuser
на ваше имя):
CREATE USER myuser WITH PASSWORD 'mypassword';
Создаём базу данных:
CREATE DATABASE mydb OWNER myuser;
Выдаём права:
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
Выходим из psql
:
\q
Выходим из пользователя postgres
:
exit
🔹 4. Разрешить удалённый доступ (по необходимости)
По умолчанию PostgreSQL принимает подключения только с localhost.
📌 Разрешить внешние подключения
Редактируем конфиг postgresql.conf
:
sudo nano /etc/postgresql/*/main/postgresql.conf
Ищем строку:
# listen_addresses = 'localhost'
Заменяем на:
listen_addresses = '*'
Сохраняем (Ctrl + X
, Y
, Enter
).
📌 Разрешить доступ в pg_hba.conf
Редактируем файл:
sudo nano /etc/postgresql/*/main/pg_hba.conf
Добавляем строку:
host all all 0.0.0.0/0 md5
Сохраняем и выходим.
Перезапускаем PostgreSQL:
sudo systemctl restart postgresql
Теперь сервер PostgreSQL принимает подключения извне. Можно подключаться через pgAdmin, DBeaver или psql
с другого компьютера.
🔹 5. Проверка работы PostgreSQL
🔹 Проверить статус сервера:
sudo systemctl status postgresql
🔹 Проверить список баз данных:
sudo -u postgres psql -c "\l"
🔹 Проверить список пользователей:
sudo -u postgres psql -c "\du"
🔹 6. Удаление PostgreSQL
Если нужно удалить PostgreSQL:
sudo apt remove --purge postgresql postgresql-contrib -y
sudo apt autoremove -y
sudo rm -rf /var/lib/postgresql
✅ Итог
- Установили PostgreSQL стандартной версией (
apt install postgresql
). - Или установили новейшую версию через репозиторий PostgreSQL.
- Настроили пользователя и базу данных.
- Открыли доступ для внешних соединений (опционально).
Теперь PostgreSQL полностью готов к работе! 🚀