Subscribe to my RSS feed RSS
May 7, 2007

Menampilkan function (PostgreSQL version)

Beberapa bulan lalu saya menulis gimana cara menampilkan encoding database dari perintah \l di console psql. Masih banyak lagi “shortcut” yang lain, dimana “shortcut” tersebut “hanya” bisa dijalankan lewat console psql saja. Nah, gimana jika kita menginginkan hal yang “sama” di “web” misalnya.

Kali ini saya akan kita bahas sedikit dengan “shortcut” dari “\df” atau menampilkan fungsi di postgres.

hrm=> \df

Schema | Name | Result data type
————+——————————+——————+—————————–
hrm | f_check_user | text | character varying, character varying
hrm | func_delete_active_karyawan | text | integer
hrm | func_delete_agama | text | integer
hrm | func_delete_anak | text | integer

Sebenarnya apa yang ada di baik “\df” ?? ternyata sebuah query juga yang dijalankan di balik semua itu. query tersebut mirip-mirip seperti ini :

hrm=> SELECT
hrm-> pc.oid AS prooid,
hrm-> proname,
hrm-> lanname as prolanguage,
hrm-> pg_catalog.format_type(prorettype, NULL) as proresult,
hrm-> pg_catalog.oidvectortypes(pc.proargtypes) AS proarguments,
hrm-> proargnames AS proargnames
hrm-> FROM
hrm-> pg_catalog.pg_proc pc, pg_catalog.pg_language pl
hrm-> WHERE
hrm-> lanname=’plpgsql’ AND proname LIKE ‘func%’;

prooid | proname | prolanguage | proresult |
——–+—————————–+————-+———–+———
98688 | func_error_msg | plpgsql | text | integer
163856 | func_insert_absen | plpgsql | text | character varying, character varying, time without time zon
98689 | func_insert_active_karyawan | plpgsql | text | character varying, character varying

Mirip bukan :D

Ini aja dolo ah, kapan2 lagi untuk “shortcut-shortcut” yang laen, masih banyak yang belum di coba.

Feed for this Entry | Trackback Address

1 comment so far

  1. phu on 05.19.2007 at 12:28 pm | permalink
  2. whew… going to expert bro !!! seep seep

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>