PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Нови функции за съвместимост на Oracle в PostgresPlus Advanced Server 9.3Beta

Накратко за продукта на EnterpriseDB PostgresPlus Advanced Server, неговата изградена върху общностна версия на PostgreSQL с функции за съвместимост на Oracle и способността му да работи със съществуващи приложения на Oracle без каквото и да е прекодиране (обикновено се изисква при миграция) и позволява на предприятията да се насладят на предимствата на Open изходна база данни с PostgresPlus Advanced Server.

Тъй като PostgresPlus Advanced Server 9.3 Beta е изграден върху общностната функция PostgreSQL 9.3 Beta, следователно се пускат разнообразни функции за съвместимост на Oracle, въведени в BETA, като синтаксис в стил Oracle, пакети, SQL функция и т.н. По-долу са няколко от примерите, изпълнени в PPAS 9.3 BETA:

Синтаксис на материализирани изгледи:

СЪЗДАВАНЕ НА МАТЕРИАЛИЗИРАН ИЗГЛЕД име [build_clause][create_mv_refresh] КАТО подзаявка
Където е build_clause:
BUILD {НЕЗАБАВНО | ОТЛОЖЕНО
Къде е create_mv_refresh:
ОБНОВЯВАНЕ [ЗАПЪЛНЕНО] [ПРИ ИЗИСКВАНЕ]

  • Изграждане отложено – При тази опция данните, които не са попълнени в MV в момента на създаване, вместо това се попълват по-късно чрез ОБНОВЯВАНЕ НА МАТЕРИАЛИЗИРАН ИЗГЛЕД.
  • Незабавно създаване – При тази опция данните, попълнени в MV в момента на създаване от таблици (По подразбиране)

edb=# създаване на материализиран изглед mymview1 
изграждане незабавно
като изберете ename,sum(sal) от emp група по ename;
SELECT 14
edb=# създаване на материализиран изглед mymview2
build deferred
като изберете ename,sum(sal) от emp група по ename;
ИЗБЕРЕТЕ 0

Както ще можете да разберете от горния изход, „BUILD IMMEDIATE“ попълва всички редове по време на създаването, докато „BUILD DEFERRED“ просто създаде фиктивен обект, който трябва да бъде попълнен по-късно с помощта на REFRESH MATERIALIZED VIEW.

edb=# опресняване на материализирания изглед mymview2;
ОБНОВЯВАНЕ НА МАТЕРИАЛИЗИРАН ИЗГЛЕД
edb=# изберете count(*) от mymview2;
count
-------
14
(1 ред)

Режимите на ОБНОВЯВАНЕ [ЗАПЪЛНЯВАНЕ] [ПРИ ИЗИСКВАНЕ] също се поддържат по време на създаване на Материализиран изглед.

Поддържа повече Oracle SQL функции:
REGEXP_SUBSTR()

edb=# SELECT REGEXP_SUBSTR('EDB документация НА http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') като РЕЗУЛТАТ ОТ двойно;
резултат
-----------
http://www
(1 ред)

REGEXP_COUNT()

edb=# изберете regexp_count('Аз съм в PG-Mailing list','i',1,'i');
regexp_count
----------- ---
5
(1 ред)

REGEXP_INSTR()

edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "позиция" ОТ двойна;
позиция
----------
1
(1 ред)

RAWTOHEX() / HEXTORAW ()

edb=# СЪЗДАВАНЕ НА ТАБЛИЦА тест (raw_col RAW(10));
СЪЗДАВАНЕ НА ТАБЛИЦА
edb=# ВМЕСТЕ В СТОЙНОСТИТЕ на теста (HEXTORAW('7D'));
INSERT 0 1
edb=# изберете * от теста;
raw_col
---------
x7d
(1 ред)

edb=# изберете rawtohex(raw_col) от теста;
rawtohex
----------
7d
(1 ред)

Още поддръжка на пакети Oracle:

DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URL

За повече подробности можете да се обърнете към бележките за версията:
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. Устройството на Django се проваля, като се посочва DatabaseError:стойността е твърде дълга за тип символ варира (50)

  2. Мигриране от MSSQL към PostgreSQL – какво трябва да знаете

  3. Как да стигнем до края на деня?

  4. Прекратяване на спряна заявка (неактивна в транзакция)

  5. Postgresql :Връзката е отказана. Проверете дали името на хоста и порта са правилни и че администраторът на пощата приема TCP/IP връзки