General
Do you have a feature request or a good idea for how to improve PostgreSQL? You can use this forum to let us know. (This is an experiment; see http://www.postgresql.org/support/ for more offical ways to contact the PostgreSQL project. Please report actual bugs and conduct development discussions there.)
-
Materialized Views
Materialized views will boost performance for every web application and not only that is must for our era.
513 votes -
MERGE/UPSERT/REPLACE
Insert, if unique constraint violation then update; or update, if not found then insert.
280 votes -
parallel query option
Rationale:
We are running a BI w/mid-size data warehouse. PostgreSQL scales reasonably well for the BI app - i.e. when there is enough users running dashboards, ad-hoc queries, etc the server is as busy as expected.
HOWEVER when running the ETL overnight most of the processors are iddle - BECAUSE the 1 process would only utilize one processor (core).
And - trust me on this - i simply do not want to listen to smart advice like "why don't you write parallel ETL" or similar :)
There are other databases having this functionality so why not PostgreSQL?244 votes -
210 votes
-
161 votes
-
156 votes
-
105 votes
-
93 votes
-
Allow update table a,b,c = (select x,y,z )
Allow to update multiple field in a table with a subselect
92 votes -
support of ddl and logon triggers
the support of ddl and logon triggers would be great for monitoring and countionous validating a database.
68 votes -
SQL/MED datalinks
Implement datalink datatype, as specified by SQL/MED.
Implement additional operations on datalinks, such as reading and writing contents of files pointed to by datalinks.
This could be very useful for content management, workflow applications, etc... Right now this is rather clumsy, because some data is in a database and some is in files...
57 votes -
Wildcards in Full-text search
Needed wildcards:
* - stands for a string of characters of any length
? - stands for zero or one character
# - stands for exactly one character.
They can appear any times in any part of word. Thanks.44 votes -
RMAN like incremental and differential backups
At present there is only one way of backing up a big databases in PG: full hot cluster backup with archived WAL sets. This method is insufficient in case of limited storage space and low time recovery. PG needs native incremental and differential block level backups for more scalability of database. There is some 3rd party efforts on that but definitely need native facility tools.
39 votes -
Query progress, reported by percentage in pg_stat_activity.
This wouldn't need to be perfectly accurate or linear, but would help admins know how far along a long running query was in executing its plan. Even better would be a way to add to EXPLAIN output what part of the plan was executing and its percentage progress.
39 votes -
Add DEFERRED option to check constraints
To improve data consistency foreign keys and simple row based checks isn't always enough. Sometimes you would like to write a stored procedure that does more advanced checks. This is fine until you would like to make that advanced constraint deferred which is not possible. "Only foreign key constraints currently accept this clause. All other constraint types are not deferrable." - http://www.postgresql.org/docs/8.4/interactive/sql-createtable.html I request deferrable check constraints!
38 votes -
Named Parameters in SQL commands
Named parameters in SQL commands, plus a way to read them clientside.
Would benefit: Readability of stored function SQL queries. Example:
CREATE FUNCTION getFootable( first INT, second TEXT, third FLOAT )
RETURNS SETOF footable AS $$
SELECT all, the, columns FROM footable
WHERE first = $first, second = $second, third = $third
$$
LANGUAGE SQL;This would also remove the little inconsistency between SQL and PL/pgSQL stored functions in that in SQL functions one cannot make use of named parameters but must use their ordinal position. The dollarsign prefix style of ordinal parameters or the undecorated placeholder style of PL/pgSQL… more
28 votes -
CREATE ASSERTION, or CHECK constraints with subselects
With tables that are not updated frequently, and when I'm fully aware of the performance implications, I'd like to have as many data integrity constraints as possible. I'm fully aware it can be burdensome to implement, but I cannot think of anything else to improve my current Postgres experience. Thanks for this feedback tool :)
27 votes -
Parameters in the anonymous code blocks (like in Oracle)
Sample:
do
$$
begin
insert into test_table(id, name) values(:ID, :Name);
end
$$;27 votes -
case insensitive
Allow db columns in UTF-8 databases to be case insensitive to sorting / selecting. From what I understand this is not possible. I've looked everywhere. It is possible in lots of other DBs from my experience and would be very useful. There is UPPER but that would reduce performance.
27 votesplanned ·
AdminPeter Eisentraut
(Admin, PostgreSQL) responded
This will likely be implemented as part of customizable, per-column locale settings.
-
add primary key to view definition
Right now Postgresql views cannot have a primary key constraint. Oracle views can. Certain frameworks like sql2java require this to work. So without this the migration to Postgresql ist not possible in some projects.
25 votes