forked from rin-nas/postgresql-patterns-library
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path{JiraTaskId}_prepare.sql
More file actions
19 lines (13 loc) · 1.15 KB
/
{JiraTaskId}_prepare.sql
File metadata and controls
19 lines (13 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- Запросы выполнять НЕ в транзакции!
VACUUM VERBOSE ANALYZE {table};
-- сначала выполняем все тяжёлые вычисления
-- подготавливаем в таблице данные для последующего обновления: id, поля со старыми и/или новыми данными (при необходимости)
-- или подготавливаем в таблице данные для последующего удаления: id и все остальные поля
-- таблица необходима для корректной работы скрипта {JiraTaskId}.sql и одновременно является резервной копией для возможности отката
DROP TABLE IF EXISTS {table}_{JiraTaskId};
CREATE TABLE {table}_{JiraTaskId} AS
SELECT id/*значения в колонке id должны быть уникальными!*/, ...
FROM {table}, ...
WHERE ...;
CREATE UNIQUE INDEX {table}_{JiraTaskId}_uniq_id ON {table}_{JiraTaskId} (id);
--SELECT * FROM {table}_{JiraTaskId} ORDER BY id LIMIT 100; -- для отладки