Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных
Связь: @devmangx
РКН: https://clck.ru/3H4Wo3
Post #1749
1.77K
SQ @sqlportal
Showing posts older than #1750 · Back to latest
ALTER TABLE orders
SET (
fillfactor = 80,
autovacuum_vacuum_scale_factor = 0.1,
autovacuum_analyze_scale_factor = 0.05,
parallel_workers = 4
);
ALTER TABLE events_log
SET (
fillfactor = 70,
autovacuum_enabled = true,
parallel_workers = 2
);
'SELECT ... WHERE col = ' || var
'SELECT ... WHERE col = :bind'

1. Архитектура на основе процессов
PostgreSQL использует архитектуру «один процесс на соединение», то есть для каждого клиента создаётся отдельный процесс операционной системы.
2. Журнал предзаписи
PostgreSQL применяет WAL для обеспечения надёжности данных, согласованности, восстановления после сбоев и репликации
3. Многоверсионность и управление параллелизмом
Благодаря MVCC PostgreSQL позволяет выполнять параллельные транзакции без необходимости жёсткой блокировки данных
4. Конвейер выполнения запросов
Запросы в PostgreSQL проходят через чёткую последовательность этапов: разбор, планирование, исполнение и возврат результатов
5. Система индексации
PostgreSQL поддерживает множество типов индексов (B-Tree, GIN, GiST, BRIN и др.) для оптимизации запросов под разные типы данных
6. Партиционирование таблиц
PostgreSQL позволяет разбивать большие таблицы на более мелкие части (партиции) по диапазону значений, списку или хешу, что упрощает управление и ускоряет обработку.
7. Логическая декодировка
Позволяет транслировать изменения из WAL в логическом формате, что полезно для репликации и систем отслеживания изменений (CDC).
8. Расширения
PostgreSQL построен как модульная система и поддерживает расширения, которые позволяют добавлять новые функции и возможности.
9. Сбор статистики
Механизм сбора статистики PostgreSQL отслеживает активность в реальном времени, что помогает анализировать и оптимизировать производительность базы данных

fruitspsql --csv -c 'select * from orders'
--csv выводит данные в формате CSV прямо в stdout>, чтобы направить вывод в файл на локальной системе\copy, но для простого экспорта результатов запроса — это быстрое и удобное решение.SELECT employees.name, departments.location
FROM employees
JOIN departments
ON employees.dept_id = departments.id;
SELECT city
FROM customers
UNION
SELECT city;



VALIDATE_CONVERSION ( <expr> AS <datatype>, <fmt> )



pg_dump -U my_user -h my_host -p 5432 -d my_database --exclude-table-data --no-owner --no-privileges > template.sql
--exclude-table-data исключает данные, но сохраняет полную схему и все расширения.-- создаём базу
CREATE DATABASE my_template_db OWNER postgres;
-- восстанавливаем из дампа
psql -U my_user -h my_host -p 5432 -d my_template_db -f template.sql
ALTER DATABASE my_template_db IS_TEMPLATE TRUE;
CREATE DATABASE new_db WITH TEMPLATE my_template_db OWNER my_user;
my_template_db под именем new_dbподключаться к разным СУБД (MySQL, PostgreSQL, SQLite, SQL Server и др.)
писать и выполнять SQL-запросы
смотреть и редактировать данные в таблицах
управлять схемой базы (таблицы, индексы и т.д.)
