PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Nowe funkcje zgodności z Oracle w PostgresPlus Advanced Server 9.3Beta

Krótko mówiąc o produkcie EnterpriseDB PostgresPlus Advanced Server, jego zbudowanej na bazie społeczności PostgreSQL z funkcjami zgodności z Oracle i jego zdolnością do pracy z istniejącymi aplikacjami Oracle bez ponownego kodowania (zwykle wymagane w migracji) i pozwalającą przedsiębiorstwom czerpać korzyści z Open źródłowa baza danych z PostgresPlus Advanced Server.

Ponieważ PostgresPlus Advanced Server 9.3 Beta został zbudowany na funkcji PostgreSQL 9.3 Beta społeczności, stąd zróżnicowane funkcje Oracle-Compatibility wprowadzone w wersji BETA, takie jak składnie w stylu Oracle, pakiety, funkcja SQL itp. Poniżej znajduje się kilka przykładów wykonanych w PPAS 9.3 BETA:-

Składnia zmaterializowanych widoków:

CREATE MATERIALIZED VIEW name [build_clause][create_mv_refresh] AS subquery
Where build_clause is:
BUILD {IMMEDIATE | DEFERRED}
Where create_mv_refresh is:
REFRESH [COMPLETE] [ON DEMAND]

  • Budowanie odroczone – W tej opcji dane, które nie zostały umieszczone w MV w momencie tworzenia, zamiast tego są wypełniane później za pomocą ODŚWIEŻ WIDOK ZMATERIAŁÓW.
  • Buduj natychmiast – W tej opcji dane wypełniane w MV w czasie tworzenia z tabel (domyślnie)

edb=# create materialized view mymview1 
build immediate
as select ename,sum(sal) from emp group by ename;
SELECT 14
edb=# create materialized view mymview2
build deferred
as select ename,sum(sal) from emp group by ename;
SELECT 0

Jak można się domyślić z powyższych danych wyjściowych, „BUDUJ NATYCHMIAST” wypełnia wszystkie wiersze w czasie tworzenia, podczas gdy „BUDUJ ODROCZONY” po prostu stworzył fikcyjny obiekt, który powinien być później wypełniony za pomocą ODŚWIEŻ ZMATERIAŁOWEGO WIDOK.

edb=# refresh materialized view mymview2 ;
REFRESH MATERIALIZED VIEW
edb=# select count(*) from mymview2;
count
-------
14
(1 row)

Tryby ODŚWIEŻ [ZAKOŃCZONO] [NA ŻĄDANIE] są również obsługiwane podczas tworzenia widoku zmaterializowanego.

Więcej obsługi funkcji Oracle SQL:
REGEXP_SUBSTR()

edb=# SELECT REGEXP_SUBSTR('EDB documentation AT http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') as RESULT FROM dual;
result
------------
http://www
(1 row)

REGEXP_COUNT()

edb=# select regexp_count('I am in PG-Mailing list','i',1,'i');
regexp_count
--------------
5
(1 row)

REGEXP_INSTR()

edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "position" FROM dual;
position
----------
1
(1 row)

RAWTOHEX() / HEXTORAW ()

edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABLE
edb=# INSERT INTO test VALUES (HEXTORAW('7D'));
INSERT 0 1
edb=# select * from test ;
raw_col
---------
x7d
(1 row)

edb=# select rawtohex(raw_col) from test ;
rawtohex
----------
7d
(1 row)

Więcej obsługi pakietów Oracle:

DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URL

Więcej informacji można znaleźć w informacjach o wydaniu:
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. Jak przywrócić pojedynczą tabelę z kopii zapasowej .sql postgresql?

  2. PostgreSQL – jak wyeliminować powtarzające się wartości

  3. Wyodrębnij datę (rrrr/mm/dd) ze znacznika czasu w PostgreSQL

  4. Jak wykonać zapytanie za pomocą pól w nowym typie danych PostgreSQL JSON?

  5. Różne typy stref czasowych w obiekcie DateTime