Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


ubuntu 22.04 postgresql install


ubuntu 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
 

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект