Friday, December 16, 2011

Postgres Plus Advanced Server 9.1 Beta 1

PPAS 9.1 Beta 1 is released. So, I thought to write about it and New Features which are coming.

Best part of PPAS 9.1 is that it has all features of PostgreSQL 9.1, which I have already discribed in my series of 9.1. Links are given below:
1. PostgreSQL Object Manipulation Features
2. New Replication and Recovery Features
3. Queries improvement of Core PostgreSQL 9.1
4. Updateable Views using INSTEADOF Trigger in PostgreSQL 9.1
5. Utility Operation Improvements
6. Upsert/Merge using Writeable CTE
7. New Functions/Improvement
8. Object Functions Improvement in PostgreSQL 9.1
9. Client Application Improvement in PostgreSQL 9.1

10. Asynchronous/Synchronous Replication


There are many other features in PostgreSQL 9.1, which requires some time to write with example. However, below is list of those Improvements:
1. Unlogged Tables
2. FOREACH IN ARRAY in PL/pgSQL
3. Pl/Perl Improvement:
    a. Record type support
    b. Pl/perl array argument map to Perl Argument.

    c. Pl/perl Composite-type array to Perl Hash.
4. Pl/Python Improvement:
   a. Table Support in Pl/Python Function
   b. New Validator for Pl/Python
   c. SQL Exception handling in Pl/Python Exception Blocks
   d. Subtransactions in Pl/Python
   e. New Pl/Ptyhon functions for Quoting String (plpy.quote_ident, plpy.quote_literal, and plpy.quote_nullable)
   f. Traceback support for Plpython errors
   g. Exception Handling in Python3
4. ECPG Improvements:
   a. WHERE CURRENT OF in Dynamic Cursor
   b. Double digit with percision of 15
5. Libpq Improvements:
   a. client_encoding option in Connection
   b. PQlibVersion() function for knowing Version of Library
   c. PQping and PQpingParams for knowing Server Status.

With Above Feature PPAS 9.1 has additional Features and Improvement, which users would like to try. List of those Features are given below:
1.VPD (Virtual Private Database) Support
2. Parition Syntax Support :
    CREATE TABLE employees
  (empno     numeric(4,0),
   ename     varchar(10),
   job       varchar(9),
   hiredate  timestamp,
   )
PARTITION BY RANGE (hiredate)
  (PARTITION ten_year_staff
     VALUES LESS THAN('01-JAN-2001'),
  (PARTITION five_year_staff
     VALUES LESS THAN('01-JAN-2006'),
  (PARTITION one_year_staff
     VALUES LESS THAN('01-JAN-2011'));
CREATE TABLE employees
  (empno     numeric(4,0),
   ename     varchar(10),
   job       varchar(9),
   hiredate  timestamp,
)
PARTITION BY RANGE (hiredate)
SUBPARTITION BY LIST (job)
(PARTITION ten_year_staff VALUES LESS THAN('01-JAN-2001)
(SUBPARTITION mgmt VALUES ('MANAGER', 'PRESIDENT'), SUBPARTITION sales VALUES ('SALESMAN', 'CLERK'), SUBPARTITION support VALUES ('ANALYST')),
(PARTITION five_year_staff VALUES LESS THAN('01-JAN-2006') (SUBPARTITION mgmt VALUES ('MANAGER', 'PRESIDENT'),
      SUBPARTITION sales   VALUES ('SALESMAN', 'CLERK'),
SUBPARTITION support VALUES ('ANALYST')),
(PARTITION one_year_staff VALUES LESS THAN('01-JAN-2011')
(SUBPARTITION mgmt VALUES ('MANAGER', 'PRESIDENT'), SUBPARTITION sales VALUES ('SALESMAN', 'CLERK'), SUBPARTITION support VALUES ('ANALYST'));

etc.
3. HextoRaw and RAWToHEX function support
4. New Hint: ORDERED
5. Ref Cursor as OUT in Procedure and Functions
6. WHEVEVER SQLERROR Syntax Sypport
7. Advanced Server Performance
   a. Improvement in Lock Management for Read and Write workloads with more CPUs
   b. Index Advisor Support for Composite Indexes
8. New Catalog Views for Partition Table
9. OCI Function: OCIBreak() and OCIReset() for sever connections on Blocking and nonBlocking Mode.

I would be discussing more about above features in coming Blogs. So, stay tune!

No comments:

Post a Comment