Search Postgresql Archives

Re: Very slow joins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jul 25, 2009 at 02:36:19AM -0700, MS wrote:
> I believe the update took so long because pgsql was checking if the
> changes don't break the referential integrity.
> So - problem solved, postgres good. ;) But isn't there a way to make
> some bulk operations without having to drop indexes/FKs?

I've never had the need to use this, but I believe this works using the
"SET CONSTRAINTS" command[1]; e.g. I can do:

  CREATE TABLE foo ( id INTEGER PRIMARY KEY );
  CREATE TABLE bar ( id INTEGER REFERENCES foo DEFERRABLE );

  INSERT INTO foo VALUES (1);
  INSERT INTO bar VALUES (1);

the following will now fail:

  BEGIN;
  INSERT INTO bar VALUES (2);
  INSERT INTO foo VALUES (2);
  COMMIT;

but the following is OK:

  BEGIN;
  SET CONSTRAINTS bar_id_fkey DEFERRED;
  INSERT INTO bar VALUES (2);
  INSERT INTO foo VALUES (2);
  COMMIT;

Unfortunatly only foreign key constraints are affected by this setting,
but I believe there are plans to extend this further.

-- 
  Sam  http://samason.me.uk/

 http://www.postgresql.org/docs/current/static/sql-set-constraints.html

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux