Adding same column to several tables.

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

 



Hello,

I have a function to add column to all tables from the list:
do
$$
declare 
  relnam pg_class.relname%TYPE;
  kur cursor for select c.relname
  from pg_class as c
    inner join pg_attribute as a on a.attrelid = c.oid
  where a.attname = 'some_id' and c.relkind = 'r';
begin
  open kur;
  LOOP
    Fetch kur into relnam;
    exit when not found;
    EXECUTE 'ALTER TABLE '|| relnam|| ' add column another_id integer default -1';
  END LOOP;
  close kur;
END;
$$

I have 22 table names returned by the query used by cursor. Whe I run the function it executes for 1.5 minutes. Is there a way of doing it faster?

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux