Навигация
|
ubuntu 22.04 postgresql installubuntu 22.04 postgresql install
sudo apt update && sudo apt upgrade -y
sudo apt install postgresql postgresql-contrib -y
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc
sudo apt update
sudo apt install postgresql-17 postgresql-client-17 postgresql-contrib -y
sudo apt install postgresql-17-postgis-3
docker run --name postgres-17 \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=Secret123! \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
-v /path/to/data:/var/lib/postgresql/data \
-d postgres:17
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo journalctl -u postgresql@17-main -xe
sudo -u postgres psql
CREATE USER user_name WITH PASSWORD 'SUPERPASS!';
CREATE DATABASE database_name OWNER user_name ENCODING 'UTF8';
vi /etc/postgresql/17/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
host database_name user_name 127.0.0.1/32 scram-sha-256
sudo systemctl reload postgresql
/etc/postgresql/17/main/postgresql.conf
listen_addresses = '*' # Разрешаем удалённые подключения
shared_buffers = 4GB # 25% от общей RAM (но не более 8GB)
work_mem = 64MB # Оперативная память на каждую операцию сортировки/хеширования
maintenance_work_mem = 1GB # Для VACUUM и создания индексов
effective_cache_size = 12GB # 50-75% от RAM
synchronous_commit = off # Для высоких нагрузок (но есть риск потери данных при сбое!)
wal_level = replica # Для репликации и Point-in-Time Recovery
shared_buffers — кеш данных в RAM. Для сервера с 16GB RAM оптимально 4GB;
work_mem — завышение этого параметра приводит к своппингу, поэтому начинайте с 32-64MB. Также чем больше максимальное количество одновременных соединений, тем меньше должен быть work_mem;
synchronous_commit = off — ускоряет запись, но при сбое можно потерять данные.
sudo systemctl reload postgresql
Создайте резервную копию:
docker exec -t postgres-17 pg_dumpall -U admin > backup.sql
Для автоматизации добавьте задание в cron:
0 3 * * * docker exec -t postgres-17 pg_dumpall -U admin | gzip > /backups/pg_$(date +\%Y-\%m-\%d).sql.gz
ежедневный бекап в 3:00;
сжатие через gzip для экономии места;
имена файлов с датами для удобства.
sudo -u postgres psql -U user_name database_name -h 127.0.0.1
CREATE TABLE test(id int, name varchar);
DROP TABLE test;
Пример подключения из консоли:
sudo -u postgres psql -U user_name database_name -h 127.0.0.1
Главный конфиг:
/etc/postgresql/17/main/postgresql.conf
Конфиг подключений:
/etc/postgresql/17/main/pg_hba.conf
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | ![]() |
Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: ![]() |
© Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|