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

What is difference between UNION and UNION ALL in SQL Server

We use UNION and UNION ALL operator to combine multiple results set into one result set.
UNION operator is used to combining multiple results set into one result set but removes any duplicate rows. Basically, UNION is used to performing a DISTINCT operation across all columns in the result set. UNION operator has the extra overhead of removing duplicate rows and sorting result.
UNION ALL operator use to combine multiple results set into one result set but it does not remove any duplicate result. Actually, this does not remove duplicate rows so it is faster than the UNION operator. If you want to combine multiple results and without duplicate records then use UNION otherwise UNION ALL is better.
Following some rules for using UNION/UNION ALL operator
1.The number of the column should be the same in the query's when you want to combine them. 2.The column should be of the same data type. 3.ORDER BY clause can be applied to the overall result set not within each result set.
4.Column name of …

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…

Check if an index exists in SQL Server

Many times we come across the scenario where we need to some code based on whether an index exists or not.
The following query may help you to check an index is exists in a particular table or not. Suppose we have a table like dbo.Table1 and it has index idx_Index and in some scenario, we need to check idx_Index exists or not.

System.index catalog view records for each Clustered and Non-Clustered indexes.  We can execute the following query to find out a particular index exists or not in a particular table

IFEXISTS (   SELECT 1 FROMsys.indexes   WHEREname='idx_Index'ANDobject_id=OBJECT_ID('dbo.Table1') ) BEGIN PRINT'Index is Exists' END