Skip to main content

Introduction of PostgreSQL

Introduction of PostgreSQL
PostgreSQL introduction
PostgreSQL is an object-relational database management system and most advanced open source database system. PostgreSQL has active development of more than 15 years and a proven architecture which has earned it a strong reputation for reliability, data integrity, and accuracy. It was developed based in POSTGRES 4.2 at the Berkeley Computer Science Department, University of California. PostgreSQL supports to almost all the platforms Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.
In this article we will cover the following topics:
1-   A Brief History of PostgreSQL
2-   PostgreSQL features
3-   What makes PostgreSQL stand out
4-   Who is using PostgreSQL

A Brief History of PostgreSQL
PostgreSQL, originally called Postgres, was created at UCB by a computer science professor named Michael Stonebraker. Stonebraker started Postgres in 1986 as a follow-up project to its predecessor, Ingres, now owned by Computer Associates.

1977-1985 − A project called INGRES was developed.
·         Proof-of-concept for relational databases
·         Established the company Ingres in 1980
·         Bought by Computer Associates in 1994

1986-1994 − POSTGRES
·         Development of the concepts in INGRES with a focus on object orientation and the query language - Quel
·         The code base of INGRES was not used as a basis for POSTGRES
·         Commercialized as Illustra (bought by Informix, bought by IBM)

1994-1995 − Postgres95
·         Support for SQL was added in 1994
·         Released as Postgres95 in 1995
·         Re-released as PostgreSQL 6.0 in 1996
·         Establishment of the PostgreSQL Global Development Team

PostgreSQL features
PostgreSQL has many advanced features that other enterprise database management systems offer, such as:
·         User-defined types
·         Table inheritance
·         Sophisticated locking mechanism
·         Foreign key referential integrity
·         Views, rules, subquery
·         Nested transactions (savepoints)
·         Multi-version concurrency control (MVCC)
·         Asynchronous replication
The recent versions of PostgreSQL support the following features:
·         Native Microsoft Windows Server version
·         Tablespaces
·         Point-in-time recovery

What makes PostgreSQL stand out?
PostgreSQL is the first database management system that implements multi-version concurrency control (MVCC) feature, even before Oracle. The MVCC feature is known as snapshot isolation in Oracle.
PostgreSQL is a general-purpose object-relational database management system. It allows you to add custom functions developed using different programming languages such as C/C++, Java, etc.
PostgreSQL is designed to be extensible. In PostgreSQL, you can define your own data types, index types, functional languages, etc. If you don’t like any part of the system, you can always develop a custom plugin to enhance it to meet your requirements e.g., adding a new optimizer.
If you need any support, an active community is available to help. You can always find the answers from the PostgreSQL’s community for the issues that you may have when working with PostgreSQL. Many companies offer commercial support services in case you need one.

Who is using PostgreSQL
Many companies have built products and solutions using PostgreSQL. Some featured companies are Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc. Check it out the PostgreSQL’s featured users section for the complete list of organizations that are using PostgreSQL.

Popular posts from this blog

Remove special character from string in MongoDB

Problem: Suppose wehave a collection and one field is type string contains some special character (like !@#$%) and we don’t want these special character.
Solution: We can easily remove the special character from field using script “replace(/[^a-zA-Z 0-9 ]/g, '')” in our query.  How can we remove special character from string using this script please see following example.
Example: Suppose we have a collection “EduSurvey “where we are collecting information from institutions.

{Name:"JB institute”, About:"This is good one collage for MBA", Information:"This $%%institute ##has good faculty etc$$"}
{Name:"MK institute”, About:"This is good one collage for MCA", Information:"This$$%# is the dummy text12"}
{Name:"MG institute”, About:"This is good one collage for B,Tech", Information:"This# institute@ has&* good infrastructure"}

Did you notice Information fields contains some special character so we…

Add day to ISODate in MongoDB

We can use $add operator to add days in ISODate in mongodb, $add is the Arithmetic Aggregation Operator which adds number and date in mongodb.

{ $add: [ <expression1>, <expression2>, ... ] }

Note:  If one of the argument is date $add operator treats to other arguments as milliseconds to add to the date.
Example: Suppose we have a Test collection as below.

{"Title" : "Add day to ISODate in MongoBD","CreatedDate" : ISODate("2016-07-07T08:00:00.000Z")}

Query to add 2 days in CreatedDate

db.Test.aggregate([      { $project: { Title: 1, AddedDate: { $add: [ "$CreatedDate", 2*24*60*60000 ] } } }    ])


{ "_id" : ObjectId("579a1567ac1b3f3732483de0"), "Title" : "Add day to ISODate in MongoBD", "AddedDate" : ISODate("2016-07-09T08:00:00.000Z") }

Note: As mentioned in above note we have to convert days in millisecond because $add operator treat to other arg…