PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

3 Cara Mendaftar semua Prosedur Tersimpan dalam Database PostgreSQL

Berikut adalah tiga opsi untuk membuat daftar semua prosedur tersimpan dalam database Postgres.

information_schema.routines Lihat

Tampilan ini berisi semua fungsi dan prosedur dalam database saat ini yang dapat diakses oleh pengguna saat ini (dengan cara menjadi pemilik atau memiliki hak istimewa).

Berikut ini contoh mengembalikan daftar prosedur tersimpan:

SELECT
    routine_schema,
    routine_name
FROM 
    information_schema.routines
WHERE 
    routine_type = 'PROCEDURE';

Jangan ragu untuk memasukkan lebih banyak kolom jika diperlukan. Anda bisa mendapatkan definisi prosedur dengan routine_definition kolom.

pg_proc Katalog

pg_catalog.pg_proc katalog menyimpan informasi tentang fungsi, prosedur, fungsi agregat, dan fungsi jendela.

Kita dapat menggabungkan ini dengan pg_catalog.pg_namespace katalog untuk memfilter hasil ke hanya prosedur dengan public ruang nama:

SELECT
    n.nspname,
    p.proname
FROM 
    pg_catalog.pg_namespace n
JOIN 
    pg_catalog.pg_proc p ON 
    p.pronamespace = n.oid
WHERE 
    p.prokind = 'p'
AND
    n.nspname = 'public';

Kami memfilter ke prokind dari p untuk membatasi hasil pada prosedur tersimpan.

Nilai yang mungkin adalah f untuk fungsi normal, p untuk sebuah prosedur, a untuk fungsi agregat, atau w untuk fungsi jendela.

Anda dapat menambahkan p.prosrc kolom untuk mendapatkan definisi prosedur. Atau Anda bisa melewati p.oid kolom ke pg_get_functiondef() fungsi. Fungsi ini akan menghasilkan CREATE OR REPLACE PROCEDURE pernyataan untuk prosedur tersimpan.

\df Perintah

Saat menggunakan psql, kita dapat menggunakan \df perintah:

\df

Secara default, ini hanya mengembalikan objek yang dibuat pengguna. Sebagai alternatif, Anda dapat memberikan pola atau S pengubah untuk memasukkan objek sistem.

Berikut ini contoh pemberian pola:

\df *album*

Contoh tersebut mempersempit hasil menjadi hanya fungsi/prosedur tersebut dengan teks album atas nama mereka.

Perhatikan bahwa perintah ini juga mengembalikan fungsi. Jenis rutin (mis. func , proc ) terdaftar dalam type kolom di output.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Setel ulang kunci utama PostgreSQL ke 1

  2. Cara Menyebarkan PostgreSQL untuk Ketersediaan Tinggi

  3. Cara memeriksa status server PostgreSQL Mac OS X

  4. Cara Menutup Celah Kerentanan di PostgreSQL

  5. Bagaimana cara menggabungkan kolom dalam SELECT Postgres?