ALTER TABLE tutabla DISABLE TRIGGER ALL; ----- Mensaje original ----- De: "Alvaro Herrera" <alvhe...@2ndquadrant.com> Para: "Gerardo Herzig" <gher...@fmed.uba.ar> CC: "Fernando Rodiño" <frodi...@gmail.com>, "Ayuda" <pgsql-es-ayuda@postgresql.org> Enviados: Viernes, 2 de Octubre 2015 11:47:36 Asunto: [MASSMAIL]Re: [pgsql-es-ayuda] insert eficiente
Gerardo Herzig escribió: > Para los bulk inserts suele ayudar: > * borrar los indices (y recrearlos luego de la insercion) > * set maintenance_work_mem TO 'una buena porcion de la RAM' (para acelerar la > creacion de los indices) > * set syncronous_commit to 'OFF' (si puedes tomar el riesgo de perder alguna > transaccion) > * deshabilitar (temporalmente) autovacuum para la tabla que recibe esos datos BEGIN; DROP INDEX ... TRUNCATE TABLE ... -- borra todos los datos existentes COPY (FROZEN) ... -- carga los datos nuevos CREATE INDEX ... COMMIT El TRUNCATE sirve para que el COPY no necesite hacer wal-logging de cada inserción; el FROZEN de copy (es una opción muy nueva) permite que las tuplas se inserten "frozen" y no requieran un freeze posterior (que causaría más escrituras). -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda 17 de octubre: Final Cubana 2015 del Concurso de Programación ACM-ICPC. http://coj.uci.cu/contest/contestview.xhtml?cid07 - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda