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