• 1
  • 2
  • 3
  • 4
  • 5
mssql数据库问题 首 页  »  帮助中心  »  数据库  »  mssql数据库问题
PostgreSQL查看DB中trigger的方法
发布日期:2016-4-29 17:4:49

  摘要

  PostgreSQL查看DB中trigger

  b2c_product=# select

  t.tgname,

  n.nspname,

  c.relname,

  p.proname

  from

  pg_trigger t

  join

  pg_class c

  on

  t.tgrelid = c.oid

  join

  pg_namespace n

  on

  c.relnamespace = n.oid

  join

  pg_proc p

  on

  t.tgfoid = p.oid

  where

  t.tgisinternal = 'f'

  ;

  tgname | nspname | relname | proname

  -----------------------------------------------+---------+--------------------------+------------------------------

  b2c_order_xxx_trigger | public | b2c_order_yyy | check_refund_zzz

  注意:

  如果直接用如下所示的SQL语句,会查找出来的包括所有系统中的触发器(比如CHECK外键的trigger)!

  所以上述SQL中加了限制trigger.tgisinternal = 'f',

  select tgname,pg_class.relname,pg_proc.proname

  from ( pg_trigger join pg_class on tgrelid=pg_class.oid )

  join pg_proc on tgfoid=pg_proc.oid;

  最后,使用

  \d relname \sf proname ()

  这样就可以详细分析出触发器的功能。