Ubuntu
sudo apt update
sudo apt install libpq-dev postgresql postgresql-contrib
MacOS
Качаем дистрибутив postgres, запускаем и следуем инструкциям. следуем
Заходим под пользователем postgres
Ubuntu
sudo -u postgres psql
Создаем базу данных sb, набрав такую строку
create database sb;
и нажав Enter
\password postgres
Набираем два раза пароль через Enter.
Запускаем такие команды.
CREATE USER myprojectuser WITH PASSWORD 'password';
ALTER ROLE myprojectuser SET client_encoding TO 'utf8';
ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myprojectuser SET timezone TO 'UTC';
Вместо ‘password’ вставляем свой пароль. read committed - блокирует чтение транзакций, по которым не было коммитов (coхранений изменений).
Предоставляем права к БД.
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
Чтобы выйти из под пользователя обратно в командную строку набираем
\q
и жмем Enter.
Конфигурируем хост, который будет обслуживать PostgreSQL.
nano /etc/postgresql/14/main/postgresql.conf
Вместо 14 может быть другая версия PosgreSQL.
Меняем
#listen_addresses = 'localhost'
на listen_addresses = ‘*’
Изменим pg_hba.conf добавив настройки подключения для одного или всех внешних IP. Добавляем внизу строку.
host all all 0.0.0.0/0 md5
Рестарт сервера
sudo service postgresql restart
mkdir /backups
chmod 0777 /backups
pg_dump sb > /backups/sb.sql
psql dbname < infile
При восстановлении необходимо создать пустую БД.