PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để lấy danh sách các hàm trong cơ sở dữ liệu trong PostgreSQL cùng với các tham số của nó?

Có một chức năng hữu ích để giúp bạn:oidvectortypes .

SELECT format('%I.%I(%s)', ns.nspname, p.proname, oidvectortypes(p.proargtypes)) 
FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid);

hiển thị tất cả các hàm với các đối số. Bạn có thể điều chỉnh format đó câu thần chú để tạo bất kỳ câu lệnh mong muốn nào và nếu bạn muốn, hãy LOOP qua nó để cung cấp câu lệnh đã tạo vào EXECUTE trong PL / PgSQL.

Ghi có cho Leo Hsu và Regina Obe at Postgres Trực tuyến để chỉ ra oidvectortypes . Tôi đã viết các hàm tương tự trước đây, nhưng sử dụng các biểu thức lồng nhau phức tạp mà hàm này không cần thiết.

Lưu ý rằng trong trường hợp này bạn không phải thực hiện bất kỳ quá trình tạo SQL tùy chỉnh nào , Tuy nhiên. Chỉ cần sử dụng GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO ... nếu bạn đang sử dụng một PostgreSQL gần đây.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm MAX () trong PostgreSQL

  2. thiết lập PostgreSQL với Laravel trong MAMP

  3. Postgres pg_try_advisory_lock chặn tất cả các bản ghi

  4. Docker &Postgres:Không liên kết được địa chỉ tcp 0.0.0.0:5432 đã được sử dụng

  5. Tự động tạo id trong Spring MVC