-
Notifications
You must be signed in to change notification settings - Fork 0
/
vaccum.sql
31 lines (23 loc) · 795 Bytes
/
vaccum.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DROP TABLE instrutor;
CREATE TABLE instrutor (
id SERIAL PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
salario DECIMAL(10, 2)
);
SELECT COUNT(*) FROM instrutor;
DO $$
DECLARE
BEGIN
FOR i IN 1..1000000 LOOP
INSERT INTO instrutor (nome, salario) VALUES ('Instrutor(a) ' || i, random() * 1000 + 1);
END LOOP;
END;
$$;
UPDATE instrutor SET salario = salario * 2 WHERE id % 2 = 1;
DELETE FROM instrutor WHERE id % 2 = 0;
-- Processo que busca e limpa periodicamente os registros inúteis
VACUUM ANALYSE instrutor;
-- Verifica a quantidade de tuplas que foram excluídas da tabela
SELECT relname, n_dead_tup FROM pg_stat_user_tables;
-- Mostra o tamanho que uma tabela está ocupando no banco
SELECT pg_size_pretty(pg_relation_size('instrutor'));