Могу ли я создать базу данных PostgreSQL на веб-хостинге?
Пакеты веб-хостинга, предлагаемые IPHost, не предоставляют возможность добавления баз данных PostgreSQL. Мы поддерживаем только базы данных MySQL. Так что самый простой и короткий ответ — НЕТ.
Что такое PostgreSQL?
PostgreSQL — это система управления базами данных с открытым исходным кодом, известная своей производительностью, безопасностью и расширяемостью. Она широко используется в веб-приложениях и совместима с такими языками программирования, как PHP, Python, Java и C++. Для управления PostgreSQL существуют графические интерфейсы, такие как: phpPgAdmin — доступен в cPanel и похож на phpMyAdmin для MySQL, pgAdmin — настольное/веб-приложение, предназначенное для управления PostgreSQL, и DBeaver — мультиплатформенный инструмент для работы с базами данных.
Если вы используете только графический инструмент, вы можете управлять базой данных PostgreSQL, не написав ни одной SQL-команды. Тем не менее, для более продвинутых операций рекомендуется знание SQL.
Поддерживается ли PostgreSQL на веб-хостинге?
На большинстве пакетов общего (shared) веб-хостинга поставщики не предлагают возможность использовать базы данных PostgreSQL. Решением может быть использование VPS или выделенного сервера, где вы можете установить PostgreSQL вручную, либо приобрести хостинг-пакет с поддержкой PostgreSQL.
Как установить PostgreSQL вручную на VPS или выделенный сервер?
Если вы выбрали VPS или выделенный сервер и хотите установить PostgreSQL вручную, выполните следующие шаги (данные команды предназначены для систем Ubuntu/Debian):
- Обновите систему:
sudo apt update
sudo apt upgrade -y - Установите необходимые пакеты PostgreSQL:
sudo apt install postgresql postgresql-contrib
Далее выполните настройку PostgreSQL:
- Установите пароль для пользователя postgres (учетная запись администратора по умолчанию):
sudo -u postgres psql
ALTER USER postgres PASSWORD 'пароль';
\q - Отредактируйте файл postgresql.conf, чтобы разрешить внешние подключения:
sudo nano /etc/postgresql/14/main/postgresql.conf
- Найдите строку listen_addresses = 'localhost' и измените её на:
listen_addresses = 'ip_адрес'
Вместо ip_адрес введите IP-адрес или список адресов, которым вы хотите разрешить доступ к базе данных. Можно использовать '*', чтобы разрешить доступ всем. - Отредактируйте файл pg_hba.conf, чтобы разрешить удаленный доступ:
sudo nano /etc/postgresql/14/main/pg_hba.conf
- Замените раздел # IPv4 local connections: на следующий:
# IPv4 local connections:
host all all 0.0.0.0/0 md5 - Откройте порт 5432:
sudo ufw allow 5432/tcp
- Перезапустите PostgreSQL:
sudo service postgresql restart
Вы также можете создать пользователя для базы данных PostgreSQL:
- Создайте базу данных, если она еще не существует:
sudo -u postgres createdb имя_бд
- Создайте нового пользователя и предоставьте ему доступ:
sudo -u postgres createuser -P имя_пользователя
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE имя_бд TO имя_пользователя;"
Как подключиться к базе данных PostgreSQL после установки?
Существует два способа подключения к базе данных PostgreSQL после её установки:
- Из командной строки.
- С помощью внешних приложений, таких как DBeaver или pgAdmin.
Если вам удобнее подключаться через командную строку, используйте следующую команду:
psql -h ip_сервера -U имя_пользователя -d имя_бд -p 5432
Второй способ — через графические приложения — намного проще, и мы его рекомендуем. Чтобы подключиться к базе данных PostgreSQL, откройте соответствующее приложение и введите следующие данные:
- Host: IP-адрес сервера, на котором размещена база данных.
- Port: 5432 или другой, если используется нестандартный порт.
- User: Имя пользователя с правами доступа к базе данных.
- Password: Пароль, установленный для этого пользователя.
- Database: Название базы данных, к которой нужно подключиться.