🐘 Установка и настройка PostgreSQL на Ubuntu
Этот гайд поможет вам установить PostgreSQL на Ubuntu, создать базу данных и пользователя, настроить удалённое подключение и устранить типичные ошибки.
📦 Установка PostgreSQL
Copy sudo apt update
sudo apt install postgresql postgresql-contrib -y ✅ Проверка установки
Copy sudo systemctl status postgresql Вы должны увидеть надпись "active (running)" — это значит, что PostgreSQL запущен.
🧑💻 Создание базы данных и пользователя
Войти в PostgreSQL от имени суперпользователя:
Copy sudo -u postgres psql Создать базу данных:
Copy CREATE DATABASE your_database_name ; Создать пользователя с паролем:
Copy CREATE USER your_username WITH PASSWORD ' your_password ' ; Выдать права:
Copy GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_username; Проверить созданные БД и пользователей:
Copy sudo -u postgres psql
\l # список баз
\du # список пользователей 🌐 Настройка удалённого доступа
Найти установленную версию PostgreSQL:
Отредактировать конфиг:
Найти строку:
Изменить на:
Отредактировать правила доступа:
Добавить в конец:
💡 Вместо md5 можно использовать scram-sha-256 (для PostgreSQL 14+)
Перезапустить PostgreSQL:
🔗 Строка подключения
Формат:
Пример:
Пояснение:
username — имя пользователя
hostname — IP или домен сервера
port — порт PostgreSQL (по умолчанию 5432)
💡 Некоторые приложения используют postgresql:// вместо postgres://
💬 Основные команды PostgreSQL
Подключиться к базе (удалённо):
Внутри psql:
\du — список пользователей
\c имя_бд — подключение к базе
🧩 Устранение ошибок
🚫 Не удаётся подключиться удалённо
Проверить, слушает ли PostgreSQL внешний интерфейс:
💡 Если netstat не установлен:
Проверить статус фаервола:
Убедитесь, что в pg_hba.conf есть строка для 0.0.0.0/0 и нужного метода авторизации.
❌ Ошибка авторизации
Убедитесь, что у пользователя есть права на подключение с внешнего IP
📛 База данных не существует / доступ запрещён
Убедитесь, что база существует:
⚠️ "Permission denied for schema public"
Если видите ошибку доступа к schema public:
Пример строки подключения:
Решение:
🧭 Быстрые команды
🔁 Управление службой PostgreSQL
💾 Работа с базой
Last updated 8 months ago