On 02-03-2016 17:24, Fabrízio de Royes Mello wrote: > > [...corte...] > > Porque no final ele tem o ".54" que indica o segmento de 1GB que está > sendo criado. >
Um detalhe, não verifiquei se essa informação acima é verdadeira... vou
dar uma olhada e em seguida confirmo 100%.
> Veja nos logs qual comando está produzindo esse arquivo temporário.
> Provável sim que vc precise aumentar o m_w_m.
>
Só para demonstrar um caso de teste de geração de "temp files" pelo
"VACUUM FULL".
fabrizio=# CREATE TABLE foo(id SERIAL PRIMARY KEY, name VARCHAR(100));
CREATE TABLE
fabrizio=# INSERT INTO foo(name) SELECT 'Name '||id FROM
generate_series(1, 100000) AS id;
INSERT 0 100000
fabrizio=# INSERT INTO foo(name) SELECT 'Name '||id FROM
generate_series(1, 100000) AS id;
INSERT 0 100000
fabrizio=# INSERT INTO foo(name) SELECT 'Name '||id FROM
generate_series(1, 100000) AS id;
INSERT 0 100000
fabrizio=# \dt+ foo
List of relations
Schema | Name | Type | Owner | Size | Description
--------+------+-------+----------+-------+-------------
public | foo | table | fabrizio | 13 MB |
(1 row)
fabrizio=# SET client_min_messages TO log;
SET
fabrizio=# SET log_temp_files TO 0;
SET
fabrizio=# SET maintenance_work_mem TO '1MB';
SET
fabrizio=# VACUUM FULL foo;
LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp13510.3", size 6004736
STATEMENT: VACUUM FULL foo;
LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp13510.3", size 6004736
VACUUM
Se ajustar o maintenance_work_mem ele não precisa do disco.
fabrizio=# SET maintenance_work_mem TO '32MB';
SET
fabrizio=# VACUUM FULL foo;
VACUUM
Só para demonstrar a todos que não é "apenas" o "work_mem" que
influencia na geração de arquivos temporários no PostgreSQL.
Att,
--
Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
signature.asc
Description: OpenPGP digital signature
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
