Clean up whitespace in primary Python / HTML files
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Sat, 25 Nov 2017 14:43:20 +0000 (09:43 -0500)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 29 Nov 2017 13:21:35 +0000 (08:21 -0500)
Clean up the whitespace in the primary Python / HTML files in
order to make it easier to apply changes going forward.

82 files changed:
pgweb/account/urls.py
pgweb/contributors/views.py
pgweb/downloads/forms.py
pgweb/downloads/models.py
pgweb/downloads/views.py
pgweb/events/feeds.py
pgweb/events/models.py
pgweb/events/views.py
pgweb/featurematrix/views.py
pgweb/lists/forms.py
pgweb/lists/models.py
pgweb/lists/views.py
pgweb/misc/forms.py
pgweb/news/feeds.py
pgweb/news/forms.py
pgweb/news/models.py
pgweb/news/views.py
pgweb/profserv/forms.py
pgweb/profserv/models.py
pgweb/profserv/views.py
pgweb/quotes/models.py
pgweb/search/models.py
pgweb/settings.py
pgweb/sponsors/admin.py
pgweb/sponsors/models.py
pgweb/sponsors/views.py
pgweb/survey/admin.py
pgweb/survey/models.py
pgweb/survey/views.py
pgweb/util/auth.py
pgweb/util/helpers.py
pgweb/util/middleware.py
templates/account/communityauth_cooloff.html
templates/account/communityauth_noinfo.html
templates/account/index.html
templates/account/login.html
templates/account/objectlist.html
templates/account/orglist.html
templates/base/form.html
templates/base/page.html
templates/contributors/list.html
templates/downloads/categorylist.html
templates/downloads/ftpbrowser.html
templates/downloads/inc_mirror.html
templates/downloads/mirrorselect.html
templates/downloads/productlist.html
templates/events/rss_description.html
templates/featurematrix/featuredetail.html
templates/featurematrix/featurematrix.html
templates/lists/subscribed.html
templates/misc/bug_completed.html
templates/news/item.html
templates/news/newsarchive.html
templates/news/rss_description.html
templates/pages/about.html
templates/pages/about/advantages.html
templates/pages/about/contact.html
templates/pages/about/donate_pg_org.html
templates/pages/about/history.html
templates/pages/about/licence.html
templates/pages/about/users.html
templates/pages/community/international.html
templates/pages/community/propaganda.html
templates/pages/developer.html
templates/pages/developer/backend.html
templates/pages/developer/core.html
templates/pages/developer/roadmap.html
templates/pages/developer/summerofcode2011.html
templates/pages/developer/summerofcode2012.html
templates/pages/developer/summerofcode2013.html
templates/pages/developer/summerofcode2014.html
templates/pages/developer/summerofcodeadvice.html
templates/pages/download.html
templates/pages/download/freebsd.html
templates/pages/download/snapshots.html
templates/pages/download/windows.html
templates/pages/support.html
templates/pages/support/security.html
templates/pages/support/security/faq/2013-04-04.html
templates/pages/support/security_archive.html
templates/profserv/list.html
templates/profserv/root.html

index 1b28bf9c8ab1cfabf1b92fe9483dd04118e53650..505a5a8f0fce9461f4ad7ea328dc55338c9836c6 100644 (file)
@@ -50,4 +50,3 @@ urlpatterns = patterns('',
 
 for provider in settings.OAUTH.keys():
        urlpatterns.append(url(r'^login/({0})/$'.format(provider), 'pgweb.account.oauthclient.login_oauth'))
-
index 8cbac84c9a7c3cca6881062dfd4a78bda97ea5fe..13867e7c145cf6376ce8d0f4f3f71f3b5e6f8396 100644 (file)
@@ -9,4 +9,3 @@ def completelist(request):
        return render_to_response('contributors/list.html', {
                'contributortypes': contributortypes,
        }, NavContext(request, 'community'))
-
index 58e8544a470a348ced9313fda5da451befe8f7be..93a952dd2302ff00ec83823a36b0aaa12980b3cf 100644 (file)
@@ -13,4 +13,3 @@ If you have not done so, use <a href="/account/organisations/new/">this form</a>
        class Meta:
                model = Product
                exclude = ('lastconfirmed', 'approved', )
-
index bc97db37bcf2a02af8df6b4cd746eb7dd3b77aea..a8114a756198d381a34dba81cf29ba8a9d8ed6fe 100644 (file)
@@ -86,4 +86,3 @@ class StackBuilderApp(models.Model):
        class Meta:
                unique_together = ('textid', 'version', 'platform', )
                ordering = ('textid', 'name', 'platform', )
-
index ccf8f5dfde3fe7da9776318c16bb9fffaa29630a..1229471af55059ed973f4c62c6695882f46d7668 100644 (file)
@@ -26,7 +26,7 @@ from forms import ProductForm
 def ftpbrowser(request, subpath):
        if subpath:
                # An actual path has been selected. Fancy!
-               
+
                if subpath.find('..') > -1:
                        # Just claim it doesn't exist if the user tries to do this
                        # type of bad thing
@@ -89,7 +89,7 @@ def ftpbrowser(request, subpath):
 
        # Fetch files
        files = [{'name': k, 'mtime': v['d'], 'size': v['s']} for k,v in node.items() if v['t'] == 'f']
-       
+
        breadcrumbs = []
        if subpath:
                breadroot = ""
@@ -260,4 +260,3 @@ def applications_v2_xml(request):
        x.endElement('applications')
        x.endDocument()
        return resp
-
index c64311f65a429bf91b37e50f5866fe1be6335fcc..b21d678bfcb0f30d70a6c190f2b17e2f25321403 100644 (file)
@@ -19,4 +19,3 @@ class EventFeed(Feed):
 
        def item_pubdate(self, obj):
                return datetime.combine(obj.startdate,time.min)
-
index 3bf8affc6afef7ab006d40eac41ff8636222fe0b..afc2cc3da55626de73e438c000c8dc44bd027b97 100644 (file)
@@ -9,20 +9,20 @@ class Event(models.Model):
        title = models.CharField(max_length=100, null=False, blank=False)
        isonline = models.BooleanField(null=False, default=False, verbose_name="Online event")
        city = models.CharField(max_length=50, null=False, blank=True)
-       state = models.CharField(max_length=50, null=False, blank=True) 
+       state = models.CharField(max_length=50, null=False, blank=True)
        country = models.ForeignKey(Country, null=True, blank=True)
        language = models.ForeignKey(Language, null=True, blank=True, default='eng', help_text="Primary language for event. When multiple languages, specify this in the event description")
-       
+
        training = models.BooleanField(null=False, blank=False, default=False)
        startdate = models.DateField(null=False, blank=False, verbose_name="Start date")
        enddate = models.DateField(null=False, blank=False, verbose_name="End date")
-       
+
        summary = models.TextField(blank=False, null=False, help_text="A short introduction (shown on the events listing page)")
        details = models.TextField(blank=False, null=False, help_text="Complete event description")
-       
+
        send_notification = True
        markdown_fields = ('details', 'summary', )
-       
+
        def purge_urls(self):
                yield '/about/event/%s/' % self.pk
                yield '/about/events/'
@@ -55,7 +55,7 @@ class Event(models.Model):
                        return self.startdate
                else:
                        return "%s &ndash; %s" % (self.startdate, self.enddate)
-       
+
        @property
        def locationstring(self):
                if self.isonline:
@@ -67,4 +67,3 @@ class Event(models.Model):
 
        class Meta:
                ordering = ('-startdate','-enddate',)
-
index bff7d10d7a16354c1b899ab1acd408ff862084b6..411a8c004ef1ce2406d4f3313cef46566df4fc6f 100644 (file)
@@ -50,4 +50,3 @@ def item(request, itemid, throwaway=None):
 def form(request, itemid):
        return simple_form(Event, itemid, request, EventForm,
                                           redirect='/account/edit/events/')
-
index 959d6f8f70652bba2e53f06d44ef3394d9eda126..3a8411ef53271e994a3432d17712b37b1608950f 100644 (file)
@@ -34,4 +34,3 @@ def detail(request, featureid):
        return render_to_response('featurematrix/featuredetail.html', {
                'feature': feature,
        }, NavContext(request, 'about'))
-
index 0227853fee78f0aa8e4f44aef4ab3878372e4ac6..94f41fd68d78079082c196dfc07932a8285a6c00 100644 (file)
@@ -8,4 +8,3 @@ class SubscribeForm(forms.Form):
        email = forms.EmailField(max_length=100,required=True,label="Email address")
        action = forms.ChoiceField(required=True, choices=(('subscribe','Subscribe'),('unsubscribe','Unsubscribe')))
        lists = forms.ModelChoiceField(required=True, queryset=MailingList.objects.filter(active=True), label="Mailinglist")
-
index 9531a1cd7250b5d3df58b4c99c003d79c0de90c1..19cae1e03397540ab07a88ac815465778d1980ba 100644 (file)
@@ -12,7 +12,7 @@ class MailingListGroup(models.Model):
 
        def __unicode__(self):
                return self.groupname
-       
+
        class Meta:
                ordering = ('sortkey', )
 
@@ -34,6 +34,6 @@ class MailingList(models.Model):
 
        def __unicode__(self):
                return self.listname
-       
+
        class Meta:
                ordering = ('listname', )
index 827d6708b63ba5d85357b1eaacb4feba0adeb51f..d823ee4d82bbfa79266d6f4e3a3c758c74e743f1 100644 (file)
@@ -41,12 +41,12 @@ def subscribe(request):
                'operation': 'Legacy subscription',
                'jquery': True,
                'form_intro': """
-<b>Note 1:</b> Please ensure you read the <a 
+<b>Note 1:</b> Please ensure you read the <a
 href="https://wiki.postgresql.org/wiki/Archives_Policy">Archive Policy</a>
 before posting to the lists.</p>
 
-<p><b>Note 2:</b> Please do not subscribe to mailing lists using e-mail 
-accounts protected by mail-back anti-spam systems. These are extremely annoying 
+<p><b>Note 2:</b> Please do not subscribe to mailing lists using e-mail
+accounts protected by mail-back anti-spam systems. These are extremely annoying
 to the list maintainers and other members, and you may be automatically unsubscribed."""
        }, NavContext(request, "community"))
 
index 624805ac9aaa11c3b86f83ac92c0928cb1076973..7ddd57f1809b276addc81d2536b28e4368f5664d 100644 (file)
@@ -31,4 +31,3 @@ class SubmitBugForm(forms.Form):
                if self.cleaned_data.get('pgversion') == '-1':
                        raise forms.ValidationError('You must select a version')
                return self.cleaned_data.get('pgversion')
-
index 8aeaf32f663ef7e7b3f850d90236e1270573bb8a..3bd563d27922c5a6fc227dfb9ca208e00befdf46 100644 (file)
@@ -19,4 +19,3 @@ class NewsFeed(Feed):
 
        def item_pubdate(self, obj):
                return datetime.combine(obj.date,time.min)
-
index dd8f54c729a6f948b796f308f5e99f5c18f3bc8e..281a46e0fccd81faee06972a8fd8a7751a5b27aa 100644 (file)
@@ -18,4 +18,3 @@ class NewsArticleForm(forms.ModelForm):
        class Meta:
                model = NewsArticle
                exclude = ('submitter', 'approved', )
-
index 77a8fa04c55beb7b24b71044e994a95e84206211..c382356c4547e17fa6ed70117686a852cb771edc 100644 (file)
@@ -18,10 +18,10 @@ class NewsArticle(models.Model):
                yield '/news.rss'
                # FIXME: when to expire the front page?
                yield '/$'
-       
+
        def __unicode__(self):
                return "%s: %s" % (self.date, self.title)
-       
+
        def verify_submitter(self, user):
                return (len(self.org.managers.filter(pk=user.pk)) == 1)
 
index 0e9c18899ccaeceabe8d166e7ab198f77f9a432d..37a731ff036e9651be2842876121952a9c4574c4 100644 (file)
@@ -26,4 +26,3 @@ def item(request, itemid, throwaway=None):
 def form(request, itemid):
        return simple_form(NewsArticle, itemid, request, NewsArticleForm,
                                           redirect='/account/edit/news/')
-
index e5cc20f4095fd209a17cc8af7a502fe87e6bf299..f61cde677f59bdaebf3456133d86eb7e4dc321a1 100644 (file)
@@ -13,4 +13,3 @@ If you have not done so, use <a href="/account/organisations/new/">this form</a>
        class Meta:
                model = ProfessionalService
                exclude = ('submitter', 'approved', )
-
index fef5e49d92ef24ab5ece44e076e40f82f8693b03..076a1d98108b5a6545e328af232ef799ead89ea8 100644 (file)
@@ -27,17 +27,16 @@ class ProfessionalService(models.Model):
        provides_support = models.BooleanField(null=False, default=False)
        provides_hosting = models.BooleanField(null=False, default=False)
        interfaces = models.CharField(max_length=512, null=True, blank=True, verbose_name="Interfaces (for hosting)")
-       
+
        purge_urls = ('/support/professional_', )
-       
+
        send_notification = True
-       
+
        def verify_submitter(self, user):
                return (len(self.org.managers.filter(pk=user.pk)) == 1)
 
        def __unicode__(self):
                return self.org.name
-       
+
        class Meta:
                ordering = ('org__name',)
-
index 18ae4083c1d4db6548aea12581b5b0a28eae8c57..c179ef20f640580c0766ce47028e414ce6e465ed 100644 (file)
@@ -43,7 +43,7 @@ def region(request, servtype, regionname):
        # DB model is a bit funky here, so use the extra-where functionality to filter properly.
        # Field names are cleaned up earlier, so it's safe against injections.
        services = ProfessionalService.objects.select_related('org').filter(approved=True).extra(where=["region_%s AND provides_%s" % (regionname, what),])
-       
+
        return render_to_response('profserv/list.html', {
                'title': title,
                'support': support,
index 4d4ee91494565480a9845bdf0f373ee88fcb4e7e..f390f65e800b195fe5cac91de9286d025cbaec2c 100644 (file)
@@ -6,7 +6,7 @@ class Quote(models.Model):
        who = models.CharField(max_length=100, null=False, blank=False)
        org = models.CharField(max_length=100, null=False, blank=False)
        link = models.URLField(null=False, blank=False)
-       
+
        send_notification = True
 
        purge_urls = ('/about/quotesarchive/', '/$', )
index fe5cb3049b0159c79dfc384ac729ad75679a4326..4ee48cd5d186e81d5a4d1acc8224fbe97de4308d 100644 (file)
@@ -1,2 +1 @@
 #from django.db import models
-
index 8d8758e4b843ad6c71c0cd9aeaf3bd97d99f149b..4264e6f34109b5d18f6c16d71b7b2e36c7f71897 100644 (file)
@@ -177,4 +177,3 @@ OAUTH={}                                               # OAuth providers and key
 
 # Load local settings overrides
 from settings_local import *
-
index 555c4b1dfa58475b444301be605d728d8b225c3a..d3029c7dc1b4501bdc7f7c0f6d9131fbc4ef277d 100644 (file)
@@ -4,4 +4,3 @@ from models import Sponsor, SponsorType, Server
 admin.site.register(SponsorType)
 admin.site.register(Sponsor)
 admin.site.register(Server)
-
index e66851ce9b3519e50497e917b9c47f008b7f85cb..6c0031abff9ab0d45e21229be407db511c80841d 100644 (file)
@@ -12,10 +12,10 @@ class SponsorType(models.Model):
 
        def __unicode__(self):
                return self.typename
-       
+
        class Meta:
                ordering = ('sortkey', )
-               
+
 class Sponsor(models.Model):
        sponsortype = models.ForeignKey(SponsorType, null=False)
        name = models.CharField(max_length=128, null=False, blank=False)
@@ -27,7 +27,7 @@ class Sponsor(models.Model):
 
        def __unicode__(self):
                return self.name
-       
+
        class Meta:
                ordering = ('name', )
 
@@ -39,12 +39,11 @@ class Server(models.Model):
        os = models.CharField(max_length=32, null=False, blank=False)
        location = models.CharField(max_length=128, null=False, blank=False)
        usage = models.TextField(null=False, blank=False)
-       
+
        purge_urls = ('/about/servers/', )
 
        def __unicode__(self):
                return self.name
-       
+
        class Meta:
                ordering = ('name', )
-
index b708a2c2390f88be3299bea346170870feb9a7f1..c91a61b2b2606b637cf29b4098f468820c09a1cd 100644 (file)
@@ -17,4 +17,3 @@ def servers(request):
        return render_to_response('sponsors/servers.html', {
                'servers': servers,
        }, NavContext(request, 'about'))
-
index 476225308c92cd0c5d7fa1ffd264d2efe6cb38ad..23d62319c963eae8588166f8782350384b0b6279 100644 (file)
@@ -12,4 +12,3 @@ class SurveyAnswerAdmin(admin.ModelAdmin):
 admin.site.register(Survey, SurveyAdmin)
 admin.site.register(SurveyLock)
 admin.site.register(SurveyAnswer, SurveyAnswerAdmin)
-
index 28baa8c1a2945224029135503673b68995031474..df33e44835c67510ae98f8ab3614100b90d68dd5 100644 (file)
@@ -93,4 +93,3 @@ class SurveyAnswer(models.Model):
 class SurveyLock(models.Model):
        ipaddr = models.GenericIPAddressField(null=False, blank=False)
        time = models.DateTimeField(null=False, auto_now_add=True)
-
index 05c8d18b1720fc41304e70568c6da807ad6abd82..a2a2b2441f7f8ee21bdce201f018a510ff3101b6 100644 (file)
@@ -60,4 +60,3 @@ def vote(request, surveyid):
        varnish_purge("/community/survey/%s/" % surveyid)
 
        return HttpResponseRedirect("/community/survey/%s/" % surveyid)
-
index ffca11e2f63c22ae74a6042995de2965e87336a4..2712b91c884390ba028f7e3dfe45757bc82b2c71 100644 (file)
@@ -54,4 +54,3 @@ class AuthBackend(ModelBackend):
                        return None
 
                return None # Should never get here, but just in case...
-
index a203b0efd5e4050e8321e684cb5346b9fe2e6f50..87e586ce099cdc63aff156da718ace7741d695c7 100644 (file)
@@ -24,7 +24,7 @@ def simple_form(instancetype, itemid, request, formclass, formtemplate='base/for
                elif hasattr(instance, 'verify_submitter'):
                        if not instance.verify_submitter(request.user):
                                raise Exception("You are not the owner of this item!")
-       
+
        if request.method == 'POST':
                # Process this form
                form = formclass(data=request.POST, instance=instance)
@@ -88,4 +88,3 @@ class PgXmlHelper(django.utils.xmlutils.SimplerXMLGenerator):
                self.startElement(name, {})
                self.characters(value)
                self.endElement(name)
-
index 540eae84a03013bee9aa8213c4a4129053bb0060..5250496813699a14b5c1600f708073bf3e8aa123 100644 (file)
@@ -1,7 +1,7 @@
 from django.http import HttpResponseRedirect, HttpResponse
 from django.conf import settings
 
-# Use thread local storage to pass the username down. 
+# Use thread local storage to pass the username down.
 # http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser
 try:
     from threading import local, currentThread
index f9f34cace37029a5e22babe1778fa721777877c8..d37ae62880239532dfbddddcf2e2df1fe0c68c0b 100644 (file)
@@ -8,4 +8,3 @@ try again later, or contact the postgresql.org webmasters if you
 have an urgent need to log in.
 </p>
 {%endblock%}
-
index d9e218fe6d8667f80a0f95b57397cfb9e355cd15..e6dd572ee21133f0e310dff3efc9adadf52af02f 100644 (file)
@@ -22,4 +22,3 @@ Please go to your <a href="/account/profile/">account profile</a> and
 complete these fields, and then try again.
 </p>
 {%endblock%}
-
index c8d9d2228f2b604a1db41b184bc9f9ef984ffb6d..c5fe8060eda16a2a410f8476e400af88ca8c6367 100644 (file)
@@ -89,4 +89,3 @@ approval before they are published:
 {%endif%}
 
 {%endblock%}
-
index c16f00c0f397660bfd37dd6508e255f49f555a90..80f92fad0e5fc163fbd162dd5ade2a5dff88bad1 100644 (file)
@@ -58,4 +58,3 @@ document.getElementById('id_username').focus()
 </script>
 
 {%endblock%}
-
index ae45cbf1e656968007d6aeeaf72f1eeef50a86c6..1839b063370c3422753e657fe2d237527adf1b24 100644 (file)
@@ -21,4 +21,3 @@ extensive.
 </p>
 
 {%endblock%}
-
index fd652b1dceef39ee1c856cfbe62f68a8b4bb644f..4cbd078daa2829d8743abf5d6dde651a0a17824c 100644 (file)
@@ -25,4 +25,3 @@ We will then link your account to this organisation.
 {%endfor%}
 </table>
 {%endblock%}
-
index 958fe2b186a389c91ccbc632d447a1c504453b1a..937af6b4d85061efcbd10abfbc190decffb731aa 100644 (file)
@@ -90,4 +90,3 @@ $(document).ready(function() {
 <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script>
 {%endif%}
 {%endblock%}
-
index 7f9e27d075781e1acb228048fa954ea0091f3076..3dac5e5b1940a08748f147e15657266897495375 100644 (file)
@@ -26,4 +26,3 @@
 {%block contents%}{%endblock%}
 </div> <!-- pgContentWrap -->
 {%endblock%}
-
index 36a2f44d146b690eda6d472ab2e8042dd538b09f..5e9b325c50750b6c2098f78f9580c5e360e27402 100644 (file)
@@ -46,4 +46,3 @@
 <p>All contributors are listed in alphabetical order.
 Please report omissions or corrections to the <a href="mailto:webmaster@postgresql.org">webmaster</a>.</p>
 {%endblock%}
-
index 696bbb95b9ee9d3a7b72618e7adb89d0fc588f5c..06ae780d82a2509d85ca3aa149f644b79998cf78 100644 (file)
@@ -23,4 +23,3 @@ out this <a href="/account/products/new/">form</a>.</p>
 </ul>
 
 {%endblock%}
-
index ad8f68665a50b78ee6df0bb6d691f6b1dd0a5b52..20876e89a04e89f60576e5ded7e1d0d6763017b0 100644 (file)
@@ -48,4 +48,3 @@
 {%endif%}
 
 {%endblock%}
-
index a53257e7d98978e43da7e3db62b25686fdb096d7..8afb9e932906ef359081d2ffae3363b5f381cb45 100644 (file)
@@ -7,4 +7,3 @@
  {%endif%}
  <a href="{{masterserver}}/redir/{{mirror.id}}/f/{{path}}">ftp</a>
 </div>
-
index 50d9def691ea3482eb11d9befe1b07e077b946af..68307ecb302e6c9b337d5a0386e6cabcf0a69cab 100644 (file)
@@ -33,4 +33,3 @@ div.mirrorselect {
 </div>
 
 {%endblock%}
-
index 31227a82866efbd4ace73e7e94cfea811619d935..662d4714ef02ba00bb868ac7a4921c564c14896b 100644 (file)
@@ -43,4 +43,3 @@ recommend any products listed, and cannot vouch for the quality or reliability
 of any of them.</i></p>
 
 {%endblock%}
-
index e358b822cf78a649ec2c5a5c050185381d056111..bfeb12fecc81d3e9cb9bbcc843a1382809ed7087 100644 (file)
@@ -1,3 +1,2 @@
 {%load markup%}
 {{obj.summary|markdown}}
-
index fd4ec08ae77a3c5ae013bb4e887b4c89f804fe9a..e3716ed73edc64de353d150f2b18c347f0b8b7cc 100644 (file)
@@ -7,4 +7,3 @@
 {{feature.featuredescription}}
 </p>
 {%endblock%}
-
index 059e35b85c9ecac80a280f8519b5cee35a188394..15182867ef164bbb6444c77b9de260e5c63f7d03 100644 (file)
@@ -118,4 +118,3 @@ the text.
 </div>
 
 {%endblock%}
-
index 37f38b27e73fbf6eb69be184e88a3828c6d8e431..b2dd8b8b88d49bcf7bdf7733c17ddd2e4df5a692 100644 (file)
@@ -8,4 +8,3 @@
 will receive a confirmation email shortly.</p>
 
 {%endblock%}
-
index 9878ecaf25e695a15e334802515fe3510fd25b63..2f9f86bd1e63e1d528707c47f5b831310a93276d 100644 (file)
@@ -9,4 +9,3 @@ mailinglist and will show up there as soon as it has cleared the moderator
 queue.
 </p>
 {%endblock%}
-
index 6b9f970e36eb4ec952dc14f73949250324b395ac..6f7b7701a5ec04f46c143188fc3fc5f512798781 100644 (file)
@@ -10,4 +10,3 @@
 website. We apologise for any formatting issues caused by the migration.</i></p>
 {%endif%}
 {%endblock%}
-
index 93f7d0347e3a58bf3d33d59b04c357ea51425496..76598427aab16e11d84caaeb61615e98d593a847 100644 (file)
@@ -10,4 +10,3 @@
 {%endfor%}
 <p><a href="/account/news/new/">Submit news</a></p>
 {%endblock%}
-
index c7e60bc785b9ced82eaeffd6a8742835bdab5469..31d7d836f7c56c29896b276ab1c134c4cd471621 100644 (file)
@@ -1,3 +1,2 @@
 {%load markup%}
 {{obj.content|markdown}}
-
index 54ae402698ad6129c0d398455d056a5d11785a19..cf9f88394b3d7debba3591423ef71f7a8abaeaf1 100644 (file)
@@ -25,7 +25,7 @@ of data it can manage and in the number of concurrent users it can
 accommodate. There are active PostgreSQL systems in production environments that
 manage in excess of 4 terabytes of data. Some general PostgreSQL limits are
 included in the table below. </p><div class="informaltable"><a name="table1"></a><table border="0"><colgroup><col /><col /></colgroup><thead><tr><th><span class="bold"><b>Limit</b></span></th><th><span class="bold"><b>Value</b></span></th></tr></thead><tbody><tr><td>Maximum Database Size</td><td>Unlimited</td></tr><tr><td>Maximum Table Size</td><td>32 TB</td></tr><tr><td>Maximum Row Size</td><td>1.6 TB</td></tr><tr><td>Maximum Field Size</td><td>1 GB</td></tr><tr><td>Maximum Rows per Table</td><td>Unlimited</td></tr><tr><td>Maximum Columns per Table</td><td>250 - 1600 depending on column types</td></tr><tr><td>Maximum Indexes per Table</td><td>Unlimited</td></tr></tbody></table></div>
-<p>PostgreSQL has won <a href="/about/quotesarchive">praise from its users</a> and <a href="/about/awards">industry recognition</a>, including the Linux New Media Award for Best Database System and five time winner of the The Linux Journal Editors' Choice Award for best DBMS. 
+<p>PostgreSQL has won <a href="/about/quotesarchive">praise from its users</a> and <a href="/about/awards">industry recognition</a>, including the Linux New Media Award for Best Database System and five time winner of the The Linux Journal Editors' Choice Award for best DBMS.
 
 </p>
 <h2>Featureful and Standards Compliant</h2><p>PostgreSQL prides itself in standards compliance. Its SQL implementation
@@ -94,7 +94,7 @@ compiled and interpreted to interface with PostgreSQL. There are interfaces for
 Java (JDBC), ODBC, Perl, Python, Ruby, C, C++, PHP, Lisp, Scheme, and Qt just to
 name a few.
 </p><p>Best of all, PostgreSQL's source code is available under a liberal
-open source license: the <a href="http://www.opensource.org/licenses/postgresql">PostgreSQL License</a>. 
+open source license: the <a href="http://www.opensource.org/licenses/postgresql">PostgreSQL License</a>.
 This license gives you the freedom to use,
 modify and distribute PostgreSQL in any form you like, open or closed
 source. Any modifications, enhancements, or changes you make are yours to do
index f43584badfb08063321c84cf7caed6ee762b5b55..10d666e80d4c05b728f42751d530fbab256a5287 100644 (file)
@@ -41,7 +41,7 @@
 
 <a name="gui"></a>
 <h2>GUI database design and administration tools</h2>
-<p>There are many high-quality GUI Tools available for PostgreSQL from both open source developers and commercial providers. A list is available on our wiki as  a <a href="https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools">community guide</a> to PostgreSQL GUI Tools. 
+<p>There are many high-quality GUI Tools available for PostgreSQL from both open source developers and commercial providers. A list is available on our wiki as  a <a href="https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools">community guide</a> to PostgreSQL GUI Tools.
 
 <a name="features"></a>
 <h2>Technical Features</h2>
@@ -49,4 +49,3 @@
 </p>
 
 {%endblock%}
-
index 2ef51f31951731d22b73c8cd5a391dac6c3c5107..bff8a4d6be974f9b1a13f5140a158b97657a9823 100644 (file)
@@ -13,7 +13,7 @@ Please see the page about <a href="/about/donate/">donations</a> or contact the
 funds group directly at <a href="mailto:funds-group@postgresql.org">funds-group@postgresql.org</a>.
 </p>
 
-<h2>User Group Liaison</h2> 
+<h2>User Group Liaison</h2>
 
 <p>A member of a PostgreSQL User group, looking to start a user group or need resources for a user group. </p>
 
@@ -23,7 +23,7 @@ funds group directly at <a href="mailto:funds-group@postgresql.org">funds-group@
 
 <p>For press enquiries, please refer to the <a href="/about/press">Press</a> section.
 This section includes information on regional contacts as well.</p>
+
 <h2>Technical Support</h2>
 <p>If you are looking for help with PostgreSQL, or this website.</p>
 <p><a href="/support">Community support</a></p>
index 211c9ccab9578fb4e5a3510a0533a81815e23510..6fc4147e55aa56fe9f8f98f9026ebe35daca5842 100644 (file)
@@ -7,11 +7,11 @@
 <p>PostgreSQL donations are managed by the <a href="https://wiki.PostgreSQL.org/wiki/SponsorShip">Fund raising Group</a>. The money donated goes to many vital services that the PostgreSQL community needs including advocacy materials, conference expenses, legal expenses, and travel costs.</p>
 
 <h3>Donate by Credit Card (preferred)</h3>
-<p>Donation via credit card is handled through USA ePay using the form below. 
+<p>Donation via credit card is handled through USA ePay using the form below.
 <!-- begin PaySimple form -->
 </p>
 <form id="form1" method="post" action="https://www.usaepay.com/interface/epayform/">
-<div class="tblBasic"> 
+<div class="tblBasic">
 <table border="0" cellpadding="0" cellspacing="0">
   <tbody>
   <tr><td class="colFirst" valign="top">
@@ -42,7 +42,7 @@
         and deposited into the PostgreSQL account at Software in the Public
         Interest.<br />
         <input name="UMdescription" value="PostgreSQL General Contribution" type="hidden">
-        <input name="UMkey" value="faI13GX2IiFk4j415yTWXIGo7i3Hb6M5" type="hidden"> 
+        <input name="UMkey" value="faI13GX2IiFk4j415yTWXIGo7i3Hb6M5" type="hidden">
         <input name="UMcommand" value="sale" type="hidden" />
         <input type="submit" class="cp_button_609397530555" tabindex="2" value="Donate via SPI" />
         <input name="UMcommand" value="sale" type="hidden" />
@@ -57,9 +57,9 @@
 <h3>Tax deductibility</h3>
 <p>Please be aware that PostgreSQL contributions may or may not be tax exempt. For more information please see the <a href="http://www.spi-inc.org/donations">SPI website</a> and your local tax advisor. If you would like to donate non-monetary items such as computers or other equipment, please contact <a
 href="mailto:josh@postgresql.org">Josh Berkus</a>.</p>
+
 <h2>Infrastructure Donations</h2>
 <p>There are many companies that donate <a href="/about/servers">servers.</a></p>
 
+
 {%endblock%}
index 68342bd6ab3347c22d736881fe35fb26c1a3fc09..50a16361baa361272a15b54ae75d56aa790bc9fe 100644 (file)
@@ -2,11 +2,11 @@
 {%block title%}History{%endblock%}
 {%block contents%}
 <h1>History</h1>
-<p>Given its powerful and advanced features, you may wonder how such a 
-valuable piece of software came to be both free and open source.  As with 
-many other key open source projects, the answer starts at the University of 
+<p>Given its powerful and advanced features, you may wonder how such a
+valuable piece of software came to be both free and open source.  As with
+many other key open source projects, the answer starts at the University of
 California at Berkeley (UCB).</p>
-<p>PostgreSQL, originally called Postgres, was created at 
+<p>PostgreSQL, originally called Postgres, was created at
 UCB by a computer science professor named Michael Stonebraker,
 who went on to become the CTO of Informix Corporation. Stonebraker
 started Postgres in 1986 as a followup project to its predecessor, Ingres, now
@@ -41,8 +41,8 @@ source world, with many new features and enhancements, the database system took
 its current name: PostgreSQL. ("Postgres" is still used as an easy-to-pronounce
 nick-name.)</p>
 <p>PostgreSQL began at version 6.0, giving credit to its many years of prior
-development. With the help of hundreds of developers from around the world, 
-the system was changed and improved in almost every area. Over the next four years 
+development. With the help of hundreds of developers from around the world,
+the system was changed and improved in almost every area. Over the next four years
 (versions 6.0 - 7.0), major improvements and new features were made such as:
 </p>
 <div class="itemizedlist"><ul><li><p><tt class="prompt">Multiversion Concurrency Control (MVCC).</tt>
@@ -73,7 +73,7 @@ contributions</a> to PostgreSQL's development. And, true to its roots, it
 continues to improve in both sophistication and performance, now more than
 ever. Version 8.0 is PostgreSQL's long awaited debut into the enterprise
 database market, bringing features such as tablespaces, Java stored procedures,
-point in time recovery, and nested transactions (savepoints). 
+point in time recovery, and nested transactions (savepoints).
 With it came a long awaited feature --- a native Windows port.</p>
 <p>
 Many organizations, government agencies and companies use PostgreSQL.
index 219a94bea21140e313f4a7d620d11d9cc071c227..f741d13971665baf408563d7cc6fd8ba7364a94b 100644 (file)
@@ -31,11 +31,11 @@ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.<br />
 </p>
 
 <h2>Why not the GNU General Public License?</h2>
-<p>People often ask why PostgreSQL is not released under the GNU General 
-Public License. The simple answer is because we like our license and do not 
-want to change it. If you are keen to read more about this topic, then please 
+<p>People often ask why PostgreSQL is not released under the GNU General
+Public License. The simple answer is because we like our license and do not
+want to change it. If you are keen to read more about this topic, then please
 take a look in the <a href="/list/">Archives</a> at
-any of the many threads on this subject, but please don't start yet another 
+any of the many threads on this subject, but please don't start yet another
 debate on the subject!
 </p>
 {%endblock%}
index 652799a74ae610df1a6938ce548eded31fe97a82..b20ccc90c9b59874f2b906d12709962bdd68ebdb 100644 (file)
@@ -93,7 +93,7 @@
 <ul>
        <li>Bricolage</li>
        <li>Debian</li>
-       <li>FreshPorts</li> 
+       <li>FreshPorts</li>
        <li>FLPR (FreeBsd,LightHttpd,PostgreSQL,Ruby)</li>
        <li>GForge</li>
        <li>LAMP (Linux/Apache/Middleware(Perl,PHP,Python,Ruby)/PostgreSQL)</li>
index 8930c0631a02a0167aaf772538207a887153ab56..b6d956a3bfd995b377b55a8fd650016954f27d67 100644 (file)
@@ -85,7 +85,7 @@
         <td class="colLast">A Russian community site</td>
 </tr>
 
-<tr class="lastrow"> 
+<tr class="lastrow">
        <td class="colFirst"><a href="http://www.postgresql.org.tr/">TΓΌrkce</a></td>
        <td class="colLast">TΓΌrkiye PostgreSQL KullanΔ±cΔ±larΔ± Grubu</td>
 </tr>
index 71c7b6a19d7ee5e8bafe578be88e27d680d11a0a..7c769b47ae7f4054eb92ac4a41922953c2cdd1f2 100644 (file)
@@ -4,7 +4,7 @@
 
 <h1>Propaganda</h1>
 
-<p><a href="http://www.templatemonster.com">Template Monster</a>, a graphics and website design company, has provided us with a number of updated PostgreSQL related graphics that you can use on your website. Right click on these images and select "Save As" to save the logo, then link them to the PostgreSQL home page at www.postgresql.org. You can also find more logos for different styles and colors, and the source files for these graphics, on our logo project page at <a href="http://pgfoundry.org/projects/graphics/">http://pgfoundry.org/projects/graphics/</a> in case you want to play around with them and maybe submit your own. 
+<p><a href="http://www.templatemonster.com">Template Monster</a>, a graphics and website design company, has provided us with a number of updated PostgreSQL related graphics that you can use on your website. Right click on these images and select "Save As" to save the logo, then link them to the PostgreSQL home page at www.postgresql.org. You can also find more logos for different styles and colors, and the source files for these graphics, on our logo project page at <a href="http://pgfoundry.org/projects/graphics/">http://pgfoundry.org/projects/graphics/</a> in case you want to play around with them and maybe submit your own.
 </p>
 
 <table>
index cc1f2b56f8c2c15cc02f4cff1577f71f1a0e9d75..2feab98b5ee635b2803f9b529a916a7cdb09d3c4 100644 (file)
@@ -7,9 +7,9 @@
 
 <p>A PostgreSQL database developer is someone who is actually working on the project, not someone using it to develop
 an application or a website. We don't hire programmers, we reach across the Internet, drawing the best database
-developers in the world to PostgreSQL. Read about the <a href="/community/contributors">people behind PostgreSQL</a> and 
-check out the <a href="/files/community/conference06/conference_group.html">group picture</a> from the 2006 
-PostgreSQL Anniversary Summit. 
+developers in the world to PostgreSQL. Read about the <a href="/community/contributors">people behind PostgreSQL</a> and
+check out the <a href="/files/community/conference06/conference_group.html">group picture</a> from the 2006
+PostgreSQL Anniversary Summit.
 </p>
 
 <h2>What will you find here?</h2>
@@ -24,6 +24,6 @@ necessarily available in the release version of PostgreSQL - it may not yet even
 
 <h2>Google Summer of Code Program</h2>
 
-<p>The PostgreSQL Project is a proud participant in Google's Summer of Code program. If you are interested in working on a PostgreSQL related project, please check out our <a href="/developer/summerofcode">Summer of Code</a> page.</p> 
+<p>The PostgreSQL Project is a proud participant in Google's Summer of Code program. If you are interested in working on a PostgreSQL related project, please check out our <a href="/developer/summerofcode">Summer of Code</a> page.</p>
 
 {%endblock%}
index 7226b6195143fd2c55eef8870547a1dfb7e2c3b0..72fed19e8090e9239c634bef009697ab560115d4 100644 (file)
@@ -113,4 +113,3 @@ functionality. They can be accessed by clicking on the
 flowchart.</p>
 
 {%endblock%}
-
index c3662e8350ae120a8e8ad333029fb5206977cf63..10d63fa984f0157f3a09d581c54d5d89d5da152d 100644 (file)
@@ -19,7 +19,7 @@ with various specializations.  Their roles include:</p>
 an open forum, like technical direction and advocacy.  Core team members
 are appointed by existing core team members.</p>
 
-<p>The core team members are listed on the 
+<p>The core team members are listed on the
 <a href="/community/contributors/">Contributor Profiles</a> page.
 
 <p>You can contact the core team by emailing pgsql-core [at] postgresql [dot] org.</p>
index 362bea9ff2f2b0edb49a29713503f6122fe3dbbb..c95e0d04907505bbdd349a5f43ede81333f609cc 100644 (file)
@@ -5,7 +5,7 @@
 <h1>Roadmap</h1>
 
 <p>PostgreSQL is a non-commercial, all volunteer, free software project, and as
-such there is no formal list of feature requirements required for development. 
+such there is no formal list of feature requirements required for development.
 We really do follow the mantra of letting developers scratch their own itches.
 </p>
 
@@ -36,7 +36,7 @@ releases is:
 tentative schedule for this version has a release in the
 third quarter of 2018.</p>
 
-<p>While there are no formal requirements for each PostgreSQL release, there 
+<p>While there are no formal requirements for each PostgreSQL release, there
 are several places you can look to find out more information on upcoming
 features:</p>
 <dl>
index 214cac4f87614cfb057dd534c7871b2359808d5c..4e47e3ab0d5bdba3a96702ef7e1dd38e5c6f74ea 100644 (file)
@@ -70,7 +70,7 @@ begin work?</li>
 <li><strong>Bio</strong> - Who are you? What makes you the best person to work on this
 project?</li>
 
-<li><strong>Contact</strong> - How can we contact if we have questions about your project? 
+<li><strong>Contact</strong> - How can we contact if we have questions about your project?
 Can you supply us with an email/IM/phone method for being contacted, in case of emergency?</li>
 </ul>
 
index 72d4b314cb95551e8aa63270d5c4c9d7d9660d8e..eb22221c4aee8040e993867b500255c457bd1905 100644 (file)
@@ -71,7 +71,7 @@ begin work?</li>
 <li><strong>Bio</strong> - Who are you? What makes you the best person to work on this
 project?</li>
 
-<li><strong>Contact</strong> - How can we contact if we have questions about your project? 
+<li><strong>Contact</strong> - How can we contact if we have questions about your project?
 Can you supply us with an email/IM/phone method for being contacted, in case of emergency?</li>
 </ul>
 
index 043d8a46a847f9c9387a843f6980c3b52fc8c52a..780e73a68c7210148d5db2e44156b4310b174d46 100644 (file)
@@ -69,7 +69,7 @@ begin work?</li>
 <li><strong>Bio</strong> - Who are you? What makes you the best person to work on this
 project?</li>
 
-<li><strong>Contact</strong> - How can we contact if we have questions about your project? 
+<li><strong>Contact</strong> - How can we contact if we have questions about your project?
 Can you supply us with an email/IM/phone method for being contacted, in case of emergency?</li>
 </ul>
 
@@ -87,7 +87,7 @@ Can you supply us with an email/IM/phone method for being contacted, in case of
        <li>Document Collection Foreign-data Wrapper</li>
 </ul>
 
-<p>More information on these projects can be found on Google's PostgreSQL SoC pages: 
+<p>More information on these projects can be found on Google's PostgreSQL SoC pages:
 (
 <a href="https://wiki.postgresql.org/wiki/GSoC_2012">2012</a>
 | <a href="https://wiki.postgresql.org/wiki/GSoC_2011">2011</a>
index 8168e623efd519cfdc7b0bb55e412dfef2ec19e5..d44ca52005d137b5e306b716e5b02aa49830527c 100644 (file)
@@ -69,7 +69,7 @@ begin work?</li>
 <li><strong>Bio</strong> - Who are you? What makes you the best person to work on this
 project?</li>
 
-<li><strong>Contact</strong> - How can we contact if we have questions about your project? 
+<li><strong>Contact</strong> - How can we contact if we have questions about your project?
 Can you supply us with an email/IM/phone method for being contacted, in case of emergency?</li>
 </ul>
 
@@ -87,7 +87,7 @@ Can you supply us with an email/IM/phone method for being contacted, in case of
        <li>Document Collection Foreign-data Wrapper</li>
 </ul>
 
-<p>More information on these projects can be found on Google's PostgreSQL SoC pages: 
+<p>More information on these projects can be found on Google's PostgreSQL SoC pages:
 (
 <a href="https://wiki.postgresql.org/wiki/GSoC_2013">2013</a>
  | <a href="https://wiki.postgresql.org/wiki/GSoC_2012">2012</a>
index a64a74a7fc80b8a3e17c77c2e80406b341451259..b176410f73bf5e74676a94a8f26488edab6708e5 100644 (file)
@@ -39,4 +39,3 @@ competitors.
 </p>
 </div>
 {%endblock%}
-
index 808f41f2ded250d56e9250872fb6c3b907225ec8..edcfaf7d777f8729d3ce3d51ace961f56bf23248 100644 (file)
@@ -85,8 +85,8 @@ function of LibreOffice Calc.
 <a href="http://www.bigsql.org/se/">BigSQL</a> provides
 a developer friendly bundle of tools for the data guru focused
 on analytics. This bundle combines Postgres and Hadoop through the
-<a href="http://www.hadoopfdw.org">HadoopFDW</a> to allow for 
-simplified analysis of data using included and integrated analytics 
+<a href="http://www.hadoopfdw.org">HadoopFDW</a> to allow for
+simplified analysis of data using included and integrated analytics
 tools such as HBase, Hive, Pig, DataFu, Flume, Sqoop and others.
 </p>
 
@@ -109,7 +109,7 @@ stacks are available from
 
 <h3>Software Catalogue</h3>
 
-<p>There is much software available that is not bundled with PostgreSQL. The <a href="/download/product-categories">Software 
+<p>There is much software available that is not bundled with PostgreSQL. The <a href="/download/product-categories">Software
 Catalogue</a> offers a listing of many commercial and Open Source applications, interfaces and extensions to PostgreSQL
 that you may find useful.</p>
 
index 2a1435ecf8e3f691c55d9da045f554f170d864b7..66e9755c613e7c2146f30977a2875df1346aa2a3 100644 (file)
@@ -6,11 +6,11 @@
 
 <h2>FreeBSD Ports</h2>
 
-<p>PostgreSQL packages are available for FreeBSD from the <a href="http://www.freebsd.org/ports">FreeBSD 
+<p>PostgreSQL packages are available for FreeBSD from the <a href="http://www.freebsd.org/ports">FreeBSD
        Ports and Packages Collection</a>. Please see the ports documentation for information on how
 to install ports.</p>
 
-<p>A list of <a href="http://www.freebsd.org/cgi/ports.cgi?query=postgresql&stype=name&sektion=databases">PostgreSQL 
+<p>A list of <a href="http://www.freebsd.org/cgi/ports.cgi?query=postgresql&stype=name&sektion=databases">PostgreSQL
        packages</a> can be found using the Ports Search tool on the FreeBSD website.</p>
 
 {%endblock%}
index ee90ccd4f373bca0ea73020be38e9ef6a9fbd55e..d6e50348e67ccf9b4555012d087a5d40e0f2014a 100644 (file)
@@ -18,7 +18,7 @@ as they have had little or no testing or quality control.
 </p>
 
 <p>
-The latest development version of the documentation is also 
+The latest development version of the documentation is also
 <a href="/docs/devel/static/index.html">available online</a>.
 </p>
 
@@ -42,9 +42,9 @@ all bugfixes that are scheduled for the next release.
 
 <h2>Installers</h2>
 <p>
-Installers for Windows and Mac are available <a 
+Installers for Windows and Mac are available <a
 href="http://www.enterprisedb.com/products-services-training/pgdevdownload">
-here</a> (offsite link). These installers also include pgAdmin and are 
+here</a> (offsite link). These installers also include pgAdmin and are
 published by EnterpriseDB.
 </p>
 
index ac616f866f5f582350e7786ba52d36f03b73222d..47f39c58604cec35719f4b119aba4c27e78b78ac 100644 (file)
@@ -86,22 +86,22 @@ graphical installer</a> from BigSQL for all supported versions.
 </p>
 
 <p>
-This distribution includes the PostgreSQL server, a graphical component 
-manager, command line and graphical tools for managing databases, plus 
+This distribution includes the PostgreSQL server, a graphical component
+manager, command line and graphical tools for managing databases, plus
 many open source community components.
 </p>
 <p>
-Integrated components include web and desktop developer tools, geospatial, 
+Integrated components include web and desktop developer tools, geospatial,
 provisioning &amp; management, compatibility &amp; migration,
 backup/restore, integration with external databases (Cassandra,
 Oracle, SQL Server, Hadoop), and procedural languages (Python, Perl, Java, and TCL).
 </p>
 
 <p>
-This distribution is a fast, developer-friendly way to get a complete PostgreSQL 
-environment installed and running. It uses an open source toolchain to build 
-PostgreSQL and extensions, which simplifies cross-platform development of 
-extensions. 
+This distribution is a fast, developer-friendly way to get a complete PostgreSQL
+environment installed and running. It uses an open source toolchain to build
+PostgreSQL and extensions, which simplifies cross-platform development of
+extensions.
 </p>
 
 <p>
index 441aaf1ea00fdf00d111ecbde9d948952ea56e57..1459583ba24b561338bb7388a191779b30574299 100644 (file)
@@ -19,6 +19,6 @@ also available.</p>
 <p>Found a bug in PostgreSQL? Please read over our <a href="/docs/current/static/bug-reporting.html">bug reporting guidelines</a>
 and then report it using our <a href="/account/submitbug">bug reporting form</a>.</p>
 
-<p>You can see previous bug reports, and track your own on the <a href="/list/pgsql-bugs/">pgsql-bugs@postgresql.org</a> mailing 
-list.</p> 
+<p>You can see previous bug reports, and track your own on the <a href="/list/pgsql-bugs/">pgsql-bugs@postgresql.org</a> mailing
+list.</p>
 {%endblock%}
index 17d79f2a57cbebb9d43d76141ace712cf3d34cf1..f49fbd39726aa7405f47888ba4107b135217041e 100644 (file)
@@ -6,7 +6,7 @@
 
 <p>
 If you wish to report a new security vulnerability in PostgreSQL, please
-send an email to 
+send an email to
 <a href="mailto:security@postgresql.org">security@postgresql.org</a>.
 For reporting non-security bugs, please see the <a href="/account/submitbug">Report a Bug</a> page.
 </p>
@@ -17,12 +17,12 @@ The PostgreSQL Global Development Group (PGDG) takes security seriously,
 allowing our users to place their trust in the web sites and applications
 built around PostgreSQL. Our approach covers fail-safe configuration options,
 a secure and robust database server as well as good integration with other
-security infrastructure software. 
+security infrastructure software.
 </p>
 
 <p>
 PostgreSQL security updates are primarily made available as <a href="/support/versioning">minor version</a>
-upgrades. You are always advised to use the latest minor version available, 
+upgrades. You are always advised to use the latest minor version available,
 as it will likely also contain other non-security related fixes. All known
 security issues are always fixed in the next major release, when it comes out.
 </p>
@@ -31,13 +31,13 @@ security issues are always fixed in the next major release, when it comes out.
 PGDG believes that accuracy, completeness and availability of security
 information is essential for our users. We choose to pool all information on
 this one page, allowing easy searching for vulnerabilities by a range of
-criteria. 
+criteria.
 </p>
 
 <p>
 The following table lists all known security issues.
 Please note that versions prior to 9.3 are no longer
-supported.  An archive of vulnerabilities found only in unsupported 
+supported.  An archive of vulnerabilities found only in unsupported
 versions is
 <a href="/support/security_archive">on our Security Archive page</a>,
 but vulnerability information on those versions is no longer updated,
@@ -152,7 +152,7 @@ to determine if the bug affects specific installations or not.
     <td class="colMid">A</td>
     <td class="colLast">Interactive installer downloads software over plain HTTP, then executes it</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="https://access.redhat.com/security/cve/CVE-2016-5423">CVE-2016-5423</a></td>
    <td class="colMid">9.5, 9.4, 9.3, 9.2, 9.1</td>
@@ -197,7 +197,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">Unchecked regex can crash the server</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5289">CVE-2015-5289</a></td>
    <td class="colMid">9.4, 9.3</td>
@@ -206,7 +206,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">B</td>
    <td class="colLast">Unchecked JSON input can crash the server</td>
   </tr>
-    
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5288">CVE-2015-5288</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -215,7 +215,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">Memory leak in crypt() function.</td>
   </tr>
-    
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3165">CVE-2015-3165</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -224,7 +224,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">B</td>
    <td class="colLast">Double "free" after authentication timeout</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3166">CVE-2015-3166</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -233,7 +233,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">D</td>
    <td class="colLast">Unanticipated errors from the standard library.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3167">CVE-2015-3167</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -242,7 +242,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">pgcrypto has multiple error messages for decryption with an incorrect key.</td>
   </tr>
-    
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0241">CVE-2015-0241</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -251,7 +251,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">Buffer overruns in "to_char" functions.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0242">CVE-2015-0242</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -260,7 +260,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">Buffer overrun in replacement printf family of functions.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0243">CVE-2015-0243</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -269,7 +269,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">Memory errors in functions in the pgcrypto extension.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0244">CVE-2015-0244</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -278,7 +278,7 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">C</td>
    <td class="colLast">An error in extended protocol message reading.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8161">CVE-2014-8161</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -286,8 +286,8 @@ to determine if the bug affects specific installations or not.
    <td class="colMid">core server</td>
    <td class="colMid">C</td>
    <td class="colLast">Constraint violation errors can cause display of values in columns which the user would not normally have rights to see.</td>
-  </tr>  
-  
+  </tr>
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0067">CVE-2014-0067</a></td>
    <td class="colMid">9.4, 9.3, 9.2, 9.1, 9.0</td>
@@ -397,7 +397,7 @@ The following vulnerability class references are used in the above table:
    <td class="colFirst">D</td>
    <td class="colLast">A vulnerability that is exploitable for denial-of-service, but requiring a valid prior login.</td>
   </tr>
-  
+
  </table>
 
 </div>
index cced1e99ff1ed33eb47f02d5961457049430fcf9..37d995e9b15e030d14c43d2ab9bd6e0ef9260759 100644 (file)
@@ -13,8 +13,8 @@
   <li>v8.4.17</li>
 </ul>
 
-<p>While this FAQ covers the 2013-04-04 PostgreSQL Security Update in general, 
-most of its contents focus on the primary security vulnerability patched in the 
+<p>While this FAQ covers the 2013-04-04 PostgreSQL Security Update in general,
+most of its contents focus on the primary security vulnerability patched in the
 release, <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1899">
 CVE-2013-1899</a>.</p>
 
@@ -22,136 +22,136 @@ CVE-2013-1899</a>.</p>
 <p>There were no known exploits at the time of release.</p>
 
 <h2>Who is particularly vulnerable because of this issue?</h2>
-<p>Any system that allows unrestricted access to the PostgreSQL network port, 
-such as users running PostgreSQL on a public cloud, is especially vulnerable. 
-Users whose servers are only accessible on protected internal networks, or who 
-have effective firewalling or other network access restrictions, are less 
+<p>Any system that allows unrestricted access to the PostgreSQL network port,
+such as users running PostgreSQL on a public cloud, is especially vulnerable.
+Users whose servers are only accessible on protected internal networks, or who
+have effective firewalling or other network access restrictions, are less
 vulnerable.</p>
-<p>This is a good general rule for database security: do not allow port access 
-to the database server from untrusted networks unless it is absolutely 
-necessary. This is as true, or more true, of other database systems as it is of 
+<p>This is a good general rule for database security: do not allow port access
+to the database server from untrusted networks unless it is absolutely
+necessary. This is as true, or more true, of other database systems as it is of
 PostgreSQL.</p>
 
 <h2>What is the nature of the vulnerability?</h2>
-<p>The vulnerability allows users to use a command-line switch for a PostgreSQL 
+<p>The vulnerability allows users to use a command-line switch for a PostgreSQL
 connection intended for single-user recovery mode while PostgreSQL is running in
 normal, multiuser mode. This can be used to harm the server.</p>
 
 <h2>What potential exploits are enabled by this vulnerability?</h2>
 <ol>
-<li>Persistent Denial of Service: an unauthenticated attacker may use this 
-    vulnerability to cause PostgreSQL error messages to be appended to targeted 
-    files in the PostgreSQL data directory on the server. Files corrupted in 
-    this way may cause the database server to crash, and to refuse to restart. 
-    The database server can be fixed either by editing the files and removing 
+<li>Persistent Denial of Service: an unauthenticated attacker may use this
+    vulnerability to cause PostgreSQL error messages to be appended to targeted
+    files in the PostgreSQL data directory on the server. Files corrupted in
+    this way may cause the database server to crash, and to refuse to restart.
+    The database server can be fixed either by editing the files and removing
     the garbage text, or restoring from backup.</li>
-<li>Configuration Setting Privilege Escalation: in the event that an attacker 
-    has a legitimate login on the database server, and the server is configured 
-    such that this user name and the database name are identical (e.g. user 
-    <i>web</i>, database <i>web</i>), then this vulnerability may be used to 
-    temporarily set one configuration variable with the privileges of the 
+<li>Configuration Setting Privilege Escalation: in the event that an attacker
+    has a legitimate login on the database server, and the server is configured
+    such that this user name and the database name are identical (e.g. user
+    <i>web</i>, database <i>web</i>), then this vulnerability may be used to
+    temporarily set one configuration variable with the privileges of the
     superuser.</li>
-<li>Arbitrary Code Execution: if the attacker meets all of the qualifications 
-    under 2 above, and has the ability to save files to the filesystem as well 
-    (even to the <i>tmp</i> directory), then they can use the vulnerability to 
-    load and execute arbitrary C code. SELinux will prevent this specific 
+<li>Arbitrary Code Execution: if the attacker meets all of the qualifications
+    under 2 above, and has the ability to save files to the filesystem as well
+    (even to the <i>tmp</i> directory), then they can use the vulnerability to
+    load and execute arbitrary C code. SELinux will prevent this specific
     type of exploit.</li>
 </ol>
 
 <h2>Which major versions of PostgreSQL are affected?</h2>
 <p>Versions 9.0, 9.1 and 9.2.</p>
-<p>Users of version 8.4 are not affected. Users of version 8.3 and earlier are 
-not affected by this issue, but are vulnerable to other unpatched security 
+<p>Users of version 8.4 are not affected. Users of version 8.3 and earlier are
+not affected by this issue, but are vulnerable to other unpatched security
 vulnerabilities, since those versions are EOL.</p>
 
 <h2>How can users protect themselves?</h2>
 <ul>
-<li>Download the update release and update all of your servers as soon as 
+<li>Download the update release and update all of your servers as soon as
     possible.</li>
 <li>Ensure that PostgreSQL is not open to connections from untrusted networks.
     </li>
-<li>Audit your database users to be certain that all logins require proper 
-    credentials, and that the only logins which exist are legitimate and in 
+<li>Audit your database users to be certain that all logins require proper
+    credentials, and that the only logins which exist are legitimate and in
     current use.</li>
 </ul>
-<p>Use of advanced security frameworks, such as SELinux with PostgreSQL's 
+<p>Use of advanced security frameworks, such as SELinux with PostgreSQL's
 SEPostgres extension, also lessen or eliminate the exposure and potential damage
 from PostgreSQL security vulnerabilities.</p>
 
 <h2>Who was given access to the information about the vulnerability?</h2>
 <p>Specifics about the vulnerability were first disclosed to our security team.
 </p>
-<p>The PostgreSQL Global Development Group (PGDG) has had, for several years, a 
-policy granting engineers who build PostgreSQL binary packages to be distributed 
-to the public (such as RPMs and Windows installers) early access to be able to 
-release information and code so that packages can be ready on the official 
-release date. This applied to both minor and major releases. Given the 
-increasing prevalence of PostgreSQL-as-a-Service (PGaaS) as a distribution 
-mechanism, we are revising this policy to accomodate the case of the cloud 
+<p>The PostgreSQL Global Development Group (PGDG) has had, for several years, a
+policy granting engineers who build PostgreSQL binary packages to be distributed
+to the public (such as RPMs and Windows installers) early access to be able to
+release information and code so that packages can be ready on the official
+release date. This applied to both minor and major releases. Given the
+increasing prevalence of PostgreSQL-as-a-Service (PGaaS) as a distribution
+mechanism, we are revising this policy to accomodate the case of the cloud
 providers. The new policy is still being edited and should be available soon.
 </p>
 
 <h2>When was the vulnerability discovered?</h2>
-<p>This vulnerability was first reported to the PostgreSQL Global Development 
+<p>This vulnerability was first reported to the PostgreSQL Global Development
 Group (PGDG) security team on March 12, 2013.</p>
-<p>We filed for the CVE, with the assistance of the Red Hat security team, on 
+<p>We filed for the CVE, with the assistance of the Red Hat security team, on
 March 27.</p>
 
 <h2>Who discovered the vulnerability?</h2>
-<p>Mitsumasa Kondo and Kyotaro Horiguchi of NTT Open Source Software Center 
+<p>Mitsumasa Kondo and Kyotaro Horiguchi of NTT Open Source Software Center
 while conducting a security audit. NTT is a longtime contributor to PostgreSQL.
 </p>
 
 <h2>How was the vulnerability reported?</h2>
 <p>Kondo-san and Horiguchi-san sent email to security@postgresql.org.</p>
 
-<h2>As reported by TechCrunch and Hacker News, some entities including cloud 
+<h2>As reported by TechCrunch and Hacker News, some entities including cloud
 platform provider Heroku were given early access. Why did this occur?</h2>
-<p>Heroku was given access to updated source code which patched the 
-vulnerability at the same time as other packagers. Because Heroku was especially 
-vulnerable, the PostgreSQL Core Team worked with them -- to secure their 
-infrastructure and to use their deployment as a test-bed for the security 
-patches. This helped to verify that the security update did not break any 
-application functionality. Heroku has a history both of working closely with 
-community developers, and of testing experimental features in their PostgreSQL 
+<p>Heroku was given access to updated source code which patched the
+vulnerability at the same time as other packagers. Because Heroku was especially
+vulnerable, the PostgreSQL Core Team worked with them -- to secure their
+infrastructure and to use their deployment as a test-bed for the security
+patches. This helped to verify that the security update did not break any
+application functionality. Heroku has a history both of working closely with
+community developers, and of testing experimental features in their PostgreSQL
 service.</p>
 
 <h2>Who was given access to the code before the official release?</h2>
-<p>We have two teams that communicate on private lists hosted on the PGDG 
+<p>We have two teams that communicate on private lists hosted on the PGDG
 infrastructure. Both teams had access to the source code prior to the release of
- any packages for analyzing the security patch and then creating packages for 
+ any packages for analyzing the security patch and then creating packages for
  distributing PostgreSQL binaries. These are our Security Team and our Packagers
-List. In both cases, these groups had early access in order to participate in 
+List. In both cases, these groups had early access in order to participate in
 patching the security hole.</p>
 
-<h2>How can end-users with large deployments or security-sensitive applications 
+<h2>How can end-users with large deployments or security-sensitive applications
 obtain early access security information?</h2>
-<p>At this time, the PostgreSQL project does not provide users who are not 
-directly involved in patching security vulnerabilities or packaging PostgreSQL 
-for other users early access to security information, patches, or code. It is 
-possible that at some time in the future we may be in a position to offer such 
+<p>At this time, the PostgreSQL project does not provide users who are not
+directly involved in patching security vulnerabilities or packaging PostgreSQL
+for other users early access to security information, patches, or code. It is
+possible that at some time in the future we may be in a position to offer such
 access, but we are not able to now.</p>
 
 <h2>Was taking the repository private while this security discussion was ongoing
  the proper thing to do?</h2>
 <p>Given the severity of the vulnerability, the PostgreSQL Core team deliberated
-and determined the security risk posed by having the source code for the fix 
-available before the packages were made available outweighed the public’s 
+and determined the security risk posed by having the source code for the fix
+available before the packages were made available outweighed the public’s
 interest in having immediate access.</p>
-<p>Normal procedure for sharing information about security releases is to send 
+<p>Normal procedure for sharing information about security releases is to send
 an announcement our developer mailing list, pgsql-hackers@postgresql.org, a week
-before a new release. Tom Lane did this. Then, due to the severity of the 
-security vulnerability, we also sent an announcement to 
-pgsql-announce@postgresql.org and to our RSS News feed on our website homepage. 
-We did this because we wanted to give DBAs sufficient time to plan for a 
+before a new release. Tom Lane did this. Then, due to the severity of the
+security vulnerability, we also sent an announcement to
+pgsql-announce@postgresql.org and to our RSS News feed on our website homepage.
+We did this because we wanted to give DBAs sufficient time to plan for a
 maintenance window to upgrade.</p>
 <p>The timing of the announcements and the release was based on the availability
 of volunteer packagers and release managers to conduct the release.</p>
 
 <h2>How is the PostgreSQL project organized?</h2>
-<p>PostgreSQL Global Development Group (PGDG) is a volunteer-run, global 
+<p>PostgreSQL Global Development Group (PGDG) is a volunteer-run, global
 organization. We have a six-person core team, a number of Major Contributors and
-several mailing lists that make up the centralized portion of our community. 
+several mailing lists that make up the centralized portion of our community.
 <a href="/community/contributors/">See here for details
 about contributors</a>.</p>
 
@@ -159,18 +159,18 @@ about contributors</a>.</p>
 <p>Membership in both groups is maintained by the Core Team.</p>
 
 <h2>How often does PostgreSQL find new security vulnerabilities?</h2>
-<p>We find zero to seven minor security issues a year. This is the first 
-security issue of this magnitude since 2006: the "backslash escape encoding 
+<p>We find zero to seven minor security issues a year. This is the first
+security issue of this magnitude since 2006: the "backslash escape encoding
 issue", which affected MySQL and a few other database systems as well.</p>
 
 <h2>How was the vulnerability introduced?</h2>
 <p>It was created as a side effect of a refactoring effort to make establishing
-new connections to a PostgreSQL server faster, and the associated code more 
+new connections to a PostgreSQL server faster, and the associated code more
 maintainable.</p>
 
 <h2>Who discovers vulnerabilities in PostgreSQL?</h2>
-<p>We are fortunate to have a large pool of security engineers who test 
-PostgreSQL regularly and responsibly report security issues so that they can be 
+<p>We are fortunate to have a large pool of security engineers who test
+PostgreSQL regularly and responsibly report security issues so that they can be
 fixed. This includes:</p>
 <ul>
 <li>QA staff at contributing companies like NTT Open Source, EnterpriseDB and
@@ -182,11 +182,10 @@ fixed. This includes:</p>
 </ul>
 
 <h2>What else is included in this release?</h2>
-<p>This release also updates four other, minor, security issues which are 
-detailed on the <a href="/support/security">security 
-page</a> and in the release announcement. It includes a number of bug fixes for 
-PostgreSQL as well, most notably fixes for two potential data corruption issues 
+<p>This release also updates four other, minor, security issues which are
+detailed on the <a href="/support/security">security
+page</a> and in the release announcement. It includes a number of bug fixes for
+PostgreSQL as well, most notably fixes for two potential data corruption issues
 with binary replication.</p>
 
 {%endblock%}
-
index d243b1f7e6881512caeca94467e98541aeacff44..79d2b2cc656f83f7fc42011d48d72f37eec199f1 100644 (file)
@@ -5,11 +5,11 @@
 <h1>Security Information Archive</h1>
 
 <p>
-This page contains a list of vulnerabilities which appear only in versions of PostgreSQL which are 
+This page contains a list of vulnerabilities which appear only in versions of PostgreSQL which are
 End Of Life and no longer updated, according to our <a href="/support/versioning">version support policy.</a>
-These versions may contain additional vulnerabilities which are listed on the main 
+These versions may contain additional vulnerabilities which are listed on the main
 <a href="/support/security">security page</a>, as well as vulnerabilities which were discovered
-later and have not been patched in those releases.  
+later and have not been patched in those releases.
 </p>
 <p>
 Users still running on unsupported PostgreSQL versions are strongly urged to upgrade
@@ -149,7 +149,7 @@ the main <a href="/support/security">security page</a>.
    <td class="colMid">C</td>
    <td class="colLast">Line breaks in object names can be exploited to execute arbitrary SQL when reloading a pg_dump file.</td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4015">CVE-2010-4015</a></td>
    <td class="colMid">9.0, 8.4, 8.3, 8.2</td>
@@ -167,7 +167,7 @@ the main <a href="/support/security">security page</a>.
    <td class="colMid">C</td>
    <td class="colLast">An authenticated database user can manipulate modules and tied variables in some external procedural languages to execute code with enhanced privileges.<a href="https://wiki.postgresql.org/wiki/20101005securityrelease">Details</a></td>
   </tr>
-  
+
   <tr valign="top">
    <td class="colFirst"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1975">CVE-2010-1975</a></td>
    <td class="colMid">8.4, 8.3, 8.2, 8.1, 8.0, 7.4</td>
@@ -185,7 +185,7 @@ bypassing settings that should be enforced.</td>
    <td class="colMid">8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25, 7.4.29</td>
    <td class="colMid">core server, limited deployments</td>
    <td class="colMid">C</td>
-   <td class="colLast">A vulnerability in Safe.pm and PL/Perl can allow an authenticated user to run arbitrary Perl code on the database 
+   <td class="colLast">A vulnerability in Safe.pm and PL/Perl can allow an authenticated user to run arbitrary Perl code on the database
                        server if PL/Perl is installed and enabled.</td>
 
   </tr>
index 2b6fdd4ffc6d51849b159ba4e8fd565f697dae05..06d177ac15211e87e80919c9f151ad47b0732ceb 100644 (file)
@@ -78,4 +78,3 @@
 {%endfor%}
 
 {%endblock%}
-
index 9852249316f1f1257be5a32dad903ced080e4e2b..086b9a605f043f5385f35bdbcb07f94ce7fe47b9 100644 (file)
@@ -22,4 +22,3 @@ solutions including support contracts.</p>
 </ul>
 
 {%endblock%}
-