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

Fitur Kompatibilitas Oracle baru di PostgresPlus Advanced Server 9.3Beta

Singkatnya tentang produk EnterpriseDB PostgresPlus Advanced Server, ini dibangun di atas versi komunitas PostgreSQL dengan fitur Kompatibilitas Oracle dan kemampuannya untuk berjalan dengan aplikasi Oracle yang ada tanpa pengkodean ulang (biasanya diperlukan dalam migrasi) dan memungkinkan perusahaan untuk menikmati manfaat Open database sumber dengan Server Lanjutan PostgresPlus.

Karena PostgresPlus Advanced Server 9.3 Beta dibangun di atas fitur PostgreSQL 9.3 Beta komunitas, maka beragam fitur Kompatibilitas Oracle yang diperkenalkan di BETA, seperti sintaks gaya Oracle, paket, fungsi SQL, dll. Berikut adalah beberapa contoh yang dijalankan di PPAS 9.3 BETA:-

Sintaks Tampilan Terwujud:

CREATE MATERIALIZED VIEW name [build_clause][create_mv_refresh] AS subquery
Di mana build_clause berada:
BUILD {IMMEDIATE | DEFERRED}
Di mana create_mv_refresh berada:
REFRESH [SELESAI] [ON DEMAND]

  • Bangun ditangguhkan – Dalam opsi ini, data tidak diisi di MV pada waktu pembuatan, melainkan diisi nanti dengan menggunakan REFRESH MATERIALIZED VIEW.
  • Bangun Segera – Dalam opsi ini, data diisi dalam MV pada waktu pembuatan dari tabel (Default)

edb=# buat tampilan terwujud mymview1 
bangun langsung
sebagai pilih ename,jumlah(sal) dari grup emp oleh ename;
SELECT 14
edb=# membuat tampilan terwujud mymview2
membangun ditangguhkan
sebagai pilih ename,jumlah(sal) dari grup emp oleh ename;
PILIH 0

Karena Anda dapat mengetahui dari output di atas bahwa "BUILD IMMEDIATE" mengisi semua baris pada waktu pembuatan, sedangkan "BUILD DEFERRED" hanya membuat objek dummy yang nantinya harus diisi menggunakan REFRESH MATERIALIZED VIEW.

edb=# refresh tampilan terwujud mymview2;
REFRESH MATERIALIZED VIEW
edb=# pilih count(*) dari mymview2;
count
-------
14
(1 baris)

Mode REFRESH [SELESAI] [ON DEMAND] juga didukung pada waktu pembuatan Tampilan Terwujud.

Lebih banyak dukungan fungsi Oracle SQL:
REGEXP_SUBSTR()

edb=# SELECT REGEXP_SUBSTR('Dokumentasi EDB DI http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') sebagai HASIL DARI ganda;
hasil
------------
http://www
(1 baris)

REGEXP_COUNT()

edb=# pilih regexp_count('Saya di PG-Mailing list','i',1,'i');
regexp_count
----------- ---
5
(1 baris)

REGEXP_INSTR()

edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "posisi" DARI ganda;
posisi
----------
1
(1 baris)

RAWTOHEX() / HEXTORAW ()

edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABLE
edb=# INSERT INTO test VALUES (HEXTORAW('7D'));
INSERT 0 1
edb=# pilih * dari tes;
raw_col
---------
x7d
(1 baris)

edb=# pilih rawtohex(raw_col) dari tes;
rawtohex
----------
7d
(1 baris)

Lebih banyak dukungan Paket Oracle:

DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URL

Untuk detail lebih lanjut, Anda dapat merujuk catatan rilis:
http://get.enterprisedb.com/releasenotes/PgPlus_AS_93Beta1_Release_Notes_20130802.pdf


  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 membuat pengguna dengan PSQL

  2. Bidang model unik yang tidak peka huruf besar-kecil di Django?

  3. Mencari di indeks ekspresi

  4. Temukan nama host dan port menggunakan perintah PSQL

  5. Cara mengatur batas waktu pernyataan untuk eksekusi kueri