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

PostgreSQL vs Oracle:pemeriksaan waktu kompilasi PL/pgSQL

Ya, ini adalah masalah umum.

PL/pgSQL (seperti fungsi lainnya, kecuali pada SQL ) adalah "kotak hitam" untuk PostgreSQL, oleh karena itu tidak mungkin mendeteksi kesalahan kecuali saat runtime.

Anda dapat melakukan beberapa hal:

  1. bungkus fungsi Anda dengan memanggil SQL kueri ke BEGIN / COMMIT pernyataan untuk memiliki kontrol yang lebih baik atas kesalahan;
  2. tambahkan EXCEPTION blok ke kode Anda untuk menangkap dan melacak kesalahan. Namun, perhatikan bahwa ini akan memengaruhi kinerja fungsi;
  3. gunakan plpgsql_check ekstensi , dikembangkan oleh Pavel Stěhule, yang merupakan salah satu kontributor utama pengembangan PL/pgSQL. Saya kira pada akhirnya ekstensi ini akan menjadikannya inti dari PostgreSQL, tetapi itu akan memakan waktu (sekarang kita berada dalam status 9.4beta3);
  4. Anda mungkin juga melihat pertanyaan terkait ini:pemeriksaan sintaks postgresql tanpa menjalankan kueri

Dan sepertinya Anda sangat membutuhkan kerangka kerja pengujian unit.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah modul Ltree PostgreSQL cocok untuk komentar berulir?

  2. Meningkatkan kecepatan kueri:SELECT sederhana di tabel postgres besar

  3. Salin dari csv ke tabel dengan kolom serial id PSQL yang meningkat secara otomatis

  4. ALL operator dalam klausa WHERE di Rails

  5. Waktu TTFB jaringan tinggi di server lokal dan jarak jauh