PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgresPlus Advanced Server 9.3Beta में नई Oracle-संगतता सुविधाएँ

EnterpriseDB उत्पाद PostgresPlus Advanced Server के बारे में संक्षेप में, यह Oracle-संगतता सुविधाओं के साथ PostgreSQL समुदाय संस्करण पर बनाया गया है और बिना किसी री-कोडिंग (आमतौर पर माइग्रेशन में आवश्यक) के मौजूदा Oracle अनुप्रयोगों के साथ चलने की क्षमता है और उद्यमों को ओपन के लाभ का आनंद लेने की अनुमति देता है। PostgresPlus उन्नत सर्वर के साथ स्रोत डेटाबेस।

PostgresPlus के रूप में उन्नत सर्वर 9.3 बीटा समुदाय PostgreSQL 9.3 बीटा सुविधा पर बनाया गया है, इसलिए विभिन्न Oracle-संगतता सुविधाओं को BETA अनलेश में पेश किया गया है, जैसे Oracle-शैली सिंटैक्स, पैकेज, SQL फ़ंक्शन आदि। नीचे PPAS 9.3 बीटा में निष्पादित कुछ उदाहरण दिए गए हैं:-

भौतिक दृश्य सिंटेक्स:

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]

  • निर्माण स्थगित - इस विकल्प में, डेटा निर्माण के समय एमवी में पॉप्युलेट नहीं होता है, इसके बजाय इसे बाद में रीफ़्रेश मैटेरियलाइज़्ड व्यू का उपयोग करके पॉप्युलेट किया जाता है।
  • तत्काल निर्माण करें - इस विकल्प में, टेबल (डिफ़ॉल्ट) से निर्माण के समय एमवी में डेटा पॉप्युलेट होता है

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

जैसा कि आप उपरोक्त आउटपुट से यह पता लगाने में सक्षम होंगे कि "बिल्ड तत्काल" निर्माण समय पर सभी पंक्तियों को पॉप्युलेट करता है, जबकि "बिल्ड डिफर्ड" ने केवल एक डमी ऑब्जेक्ट बनाया है जिसे बाद में रीफ्रेश मैटेरियलाइज्ड व्यू का उपयोग करके पॉप्युलेट किया जाना चाहिए।

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

रीफ़्रेश [पूर्ण] [मांग पर] मोड भी भौतिकीकृत दृश्य के निर्माण के समय समर्थित हैं।

अधिक 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)

अधिक 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. PostgreSQL:मैं उपयोगकर्ता स्तर पर search_path कैसे सेट करूं?

  2. विशिष्ट भूमिका के लिए सभी वस्तु विशेषाधिकार प्राप्त करना

  3. PostgreSQL में पावर () फ़ंक्शन कैसे काम करता है

  4. किसी csv फ़ाइल के कुछ स्तंभों को तालिका में कॉपी करें

  5. json, jsonb, hstore, xml, enum, ipaddr, आदि को स्टोर करना कॉलम x के साथ विफल रहता है जो टाइप json का है लेकिन एक्सप्रेशन टाइप कैरेक्टर का है