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

Menerjemahkan kueri dari Firebird ke PostgreSQL

Postgres memiliki cara lain untuk menyimpan informasi tentang konten sistem. Ini disebut Katalog Sistem .

Di Firebird, kueri Anda pada dasarnya mengembalikan baris untuk setiap kolom tabel di setiap skema dengan kolom Integer tambahan yang memetakan ke tipe data bidang.

Di Postgres menggunakan tabel sistem di pg_catalog skema sesuatu yang serupa dapat dicapai dengan menggunakan kueri ini:

SELECT 
  TRIM(c.relname) AS table_name, TRIM(a.attname) AS column_name, a.atttypid AS field_type
FROM pg_class c
LEFT JOIN pg_attribute a ON 
  c.oid = a.attrelid
  AND a.attnum > 0 -- only ordinary columns, without system ones
WHERE c.relkind = 'r' -- only tables
ORDER BY 1,2

Permintaan di atas juga mengembalikan katalog sistem. Jika Anda ingin mengecualikan mereka, Anda perlu menambahkan GABUNG lain ke pg_namespace dan klausa where dengan pg_namespace.nspname <> 'pg_catalog' , karena ini adalah skema tempat katalog sistem disimpan.

Jika Anda juga ingin melihat nama tipe data alih-alih nomor perwakilannya, tambahkan GABUNG ke pg_type .

Skema informasi terdiri dari kumpulan pandangan. Dalam kebanyakan kasus, Anda tidak memerlukan seluruh kueri SQL yang ada di belakang tampilan, jadi menggunakan tabel sistem akan memberi Anda kinerja yang lebih baik. Anda dapat memeriksa definisi tampilan, hanya untuk memulai pada tabel dan kondisi yang digunakan untuk membentuk 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. Cara menduplikasi skema di PostgreSQL

  2. Postgres :Tidak ditemukan Driver yang cocok untuk jdbc

  3. atur tingkat isolasi untuk prosedur tersimpan postgresql

  4. Cara menjalankan pekerjaan yang dibuat melalui pgagent di Postgres

  5. C# menghubungkan ke database postgres