SORU
1 AĞUSTOS 2011, PAZARTESİ


Nasıl işlevini görüntülemek için, yordam, tetikleyici postgresql kaynak kodu?

Nasıl baskı işlevleri ve postgresql içinde yaptırıyor tetikler? lütfen bana herhangi bir sorgu işlevi görüntülemek için biliyorsanız bildirin, tetikler kaynak kodu.

CEVAP
2 AĞUSTOS 2011, Salı


Fonksiyon için:

pg_proc görünümü , sadece aşağıdaki gibi sorgulayabilirsiniz

select proname,prosrc from pg_proc where proname= your_function_name; 

Başka bir yol sadece commont yürütmek \df ve işlevleri listesi olan \ef.

skytf=> \df           
                                             List of functions
 Schema |         Name         | Result data type |              Argument data types               |  Type  
-------- ---------------------- ------------------ ------------------------------------------------ --------
 public | pg_buffercache_pages | SETOF record     |                                                | normal


skytf=> \ef  pg_buffercache_pages

Kaynak işlevin kodunu gösterecektir.

Tetikleyiciler: için

Kaynak kodunu almak için doğrudan bir yol olup olmadığını biliyor mu bilmiyorum. Sadece şu şekilde biliyorum, size yardımcı olacaktır olabilir!

  • Adım 1 : tetikleyici tablo oıd:
    skytf=> select tgrelid from pg_trigger  where tgname='insert_tbl_tmp_trigger';
      tgrelid
    ---------
       26599
    (1 row)
  • adım 2: yukarıdaki tablo adını oıd !
    skytf=> select oid,relname  from pg_class where oid=26599;
      oid  |           relname           
    ------- -----------------------------
     26599 | tbl_tmp
    (1 row)
  • adım 3: liste tablo bilgileri
    skytf=> \d tbl_tmp

Tablo tetiği ayrıntılarını gösterecektir . Genellikle tetikleyici bir işlev kullanır. Belirttim o tetiği işlevin kaynak kodu gibi yukarıda olsun !

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011