Showing posts with label commitfest. Show all posts
Showing posts with label commitfest. Show all posts

Saturday, September 21, 2013

Free VMs for Reviewers

In case you somehow missed it, the second CommitFest for PostgreSQL 9.4 development is underway.  While we don't have quite as many patches in the queue as we had last time, we have quite a few, and more than we've had for any CF2 before.  This means we need as many reviewers as possible!

In order to make sure that nobody is prevented from reviewing due to not having a suitable development environment available, the PostgreSQL community is offering free virtual machines for reviewing and testing patches for this CommitFest.

If you want a VM for this purpose, please email me the following at any point during the CF:
  1. Your public SSH key.
  2. Which patch(es) you intend to review/test.
  3. Preference for CentOS or Ubuntu.
  4. When you expect to do the review.
Since these are EC2 virtual servers, they will not be suitable for performance testing.  However, if you want to review a replication patch, we can make multiple VMs available.  All VMs will be terminated at the end of the CF.

VMs will come equipped with all tools required to build PostgreSQL, plus a checkout of the PostgreSQL code from the beginning of the CF.  You may need to install additional requirements yourself if you are reviewing extensions or special features with dependencies.

Note that I may take a day to respond with your VM access.

Thursday, January 17, 2013

PostgreSQL 9.3: Current Feature Status

So we're finally beginning the final playoffs for 9.3 features, otherwise known as "CommitFest 4".  Here's where we are on the various features which have been discussed, proposed, submitted, or thought about for 9.3.  The "likely/uncertain" is my own judgement based on the activity I've seen on the feature so far, and may not reflect the project consensus (although it does largely reflect the "needs review/ready for committer" split on those patches).

I've also probably missed stuff. Mostly this is by not seeing some patches as significant, which actually are.

As you can see, what's already committed would make a respectable release for any other DBMS.  But here at PostgreSQL, we don't believe that there's any such thing as "enough features".   If your database can't process 16TB of data with six nines of uptime, parallelize all your application logic, make breakfast and drive the kids to school without waking you up, we still have work to do!

Already Committed:
  • Use POSIX shared memory: no more SHMMAX
  • LATERAL subqueries
  • Streaming-only Cascading and Remastering
  • extend large object access to 4TB (was 2GB)
  • Improve pg_upgrade performance
  • COPY FREEZE mode
  • Automatically updatable views
  • Create your own background workers
  • configuration file directories
  • additional ALTER, IF NOT EXISTS objects
  • pg_basebackup generates replica configuration
  • pg_terminate_backend your own queries
  • SP-GiST indexing for Range Types

Pending CF4, Looking Likely:
  • Writeable Foreign Tables
  • PostgreSQL database federation (pgsql_fdw)
  • LOCK TIMEOUT
  • Event Triggers
  • pg_retainxlog
  • Improved Foreign Key locking (FOR KEY SHARE)
  • Recursive VIEWs
  • Improved performance for SP-GiST and Range Types
  • Merging recovery.conf into postgresql.conf
  • pg_ping utility
  • Additional JSON features and built-in functions
  • Updating postgresql.conf from SQL command-line

In CF4, Uncertain:
  • Logical Streaming Replication, and its many dependant patches.
  • Data page checksums
  • Auto-updated Materialized Views
  • Reducing Hint Bit I/O
  • Storing counts, other data in GIN indexes
  • Row-Level Security and dependant SEPgSQL features.
  • xlogreader
  • use pg_receivexlog for promotion
  • REINDEX CONCURRENTLY
  • Parallel pg_dump

Already Bounced to 9.4:
  • pg_dump file-per-object format ("split")
  • Trim Trailing NULLs optimization
  • Automatic audit logging ("timing events")
  • TABLESAMPLE
  • pg_stats_lwlocks view
  • array foreign keys

Never Got Worked On in 9.3:
  • Query parallelization
  • UPSERT/MERGE
  • Merge joins for Ranges
  • Global temp tables
  • Temp tables on Replicas
  • Reordering database columns
  • Spatial JOIN
  • special JSON GiST Indexes
If your favorite feature is in the "never got worked on" or the "already bounced", it's a bit too late to do anything about it. However, if your favorite feature is in CF4 -- especially if it's on the "uncertain" list -- now's the time to get involved.  Download the patch, test the functionality, test performance, find bugs, submit a review, help writing docs (since new features don't get accepted without docs).  After February 15th, it'll be too late, and you'll have to wait for another year.

Regardless of what does or doesn't make it in at this point, we have a great 9.3 expected.