Redshift is based off branch of PostGreSQL 8.0.2 [ PostgreSQL 8.0.2 was released in 2005]
here’s all the unsupported fancy PostGres Stuff: taken directly from amazon’s manual.
The bigs ones are: No Store Procedures, No Constraints enforcement, No triggers and no table functions, no upserts.
However, don’t ever forget that for an Amazon Redshift query can do:
Select count(disinct column_name) from table.
200x faster than PostGres on a Billion row table.
Unsupported PostgreSQL Features
These PostgreSQL features are not supported in Amazon Redshift.
Do not assume that the semantics of elements that Amazon Redshift and PostgreSQL have in common are identical. Make sure to consult the Amazon Redshift Developer Guide SQL Commands to understand the often subtle differences.
- Only the 8.x version of the PostgreSQL query tool psql is supported.
- Table partitioning (range and list partitioning)
- Foreign key
- Primary key
- Check constraints
- Exclusion constraints
Unique, primary key, and foreign key constraints are permitted, but they are informational only. They are not enforced by the system, but they are used by the query planner.
- Postgres system columnsAmazon Redshift SQL does not implicitly define system columns. However, the PostgreSQL system column names cannot be used as names of user-defined columns. See http://www.postgresql.org/docs/8.0/static/ddl-system-columns.html
- NULLS clause in Window functions
- CollationsAmazon Redshift does not support locale-specific or user-defined collation sequences. See Collation Sequences.
- Value expressions
- Subscripted expressions
- Array constructors
- Row constructors
- Stored procedures
- Management of External Data (SQL/MED)
- Table functions
- VALUES list used as constant tables
- Recursive common table expressions
- Full text search