📌 Установка PostgreSQL на Ubuntu
На Ubuntu можно установить PostgreSQL через пакетный менеджер apt или из официального репозитория PostgreSQL для получения последних версий.
🔹 1. Установка стандартной версии из репозиториев Ubuntu
🔹 Обновляем пакеты:
sudo apt update && sudo apt upgrade -y🔹 Устанавливаем PostgreSQL:
sudo apt install -y postgresql postgresql-contribpostgresql– основной сервер базы данных.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 полностью готов к работе! 🚀