gwydirsam / postgres

This repo is a fork of the official clone of the postgres repository. This fork contains patches used in Joyent's Manta system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

postgres

This repository represents the version of postgres that is used as part of the Manta project in the manatee project.

We have changes to postgres currently covering the following broader features:

  • Ensure ISM (Intimate Shared Memory) is taken advantage of on systems that support it (i.e. illumos distributions and Solaris)

Repository Management

This repository is downstream of the github postgres mirror.

To better understand and maintain our differences from postgres, we try to manage branches and tags in a specific fashion. First and foremost, all branches and tags from the upstream postgres repository are mirrored here.

Anything that is Joyent-specific begins with a joyent/ prefix.

Branches with Joyent modifications are named joyent/<version>, such as joyent/9.6.3. This is a branch that starts from the postgres REL9_6_3 tag. These branches will have all of our patches rebased on top of them. Currently, this repository is consumed by manta-manatee, which contains a git submodule for this repository. That submodule will point to a tag in this repository that uses the form joyent/v<version>j<branch release num>. The first release as described above would be: joyent/v9.6.3j1. If we need to cut another release from this branch, we would tag it joyent/v9.6.3j2 and continue to increment the number after the j. Note we use the j instead of r which would more traditionally be used to indicate a revision. We use j in case postgres for some reason wants to use it in its version strings for whatever reason.

When it comes time to update to a newer version of postgres, we would take the following steps:

  • Ensure that we have pushed all changes from postgres/postgres and synced all of our branches and tags.
  • Identify the release tag that corresponds to the point release. For this example, we'll say that's release-9.6.4.
  • Create a new branch named joyent/<version> from the tag. In this case we would name the branch joyent/9.6.4.
  • Rebase all of our patches on to that new branch, removing any patches that are no longer necessary.
  • Test the new postgres binary.
  • Review and Commit all relevant changes.
  • Create a new tag joyent/v9.6.4j1.
  • Update the manta-manatee submodule to point to the new tag.

About

This repo is a fork of the official clone of the postgres repository. This fork contains patches used in Joyent's Manta system.

License:Other


Languages

Language:C 85.1%Language:PLpgSQL 5.6%Language:C++ 2.8%Language:Perl 2.1%Language:Yacc 1.4%Language:Makefile 0.7%Language:SQLPL 0.6%Language:Lex 0.5%Language:PLSQL 0.3%Language:M4 0.2%Language:Ruby 0.2%Language:Shell 0.2%Language:Roff 0.1%Language:Python 0.1%Language:Batchfile 0.0%Language:XS 0.0%Language:Emacs Lisp 0.0%Language:DTrace 0.0%Language:Assembly 0.0%Language:Objective-C 0.0%