Authors: Sarah Conway <sarah.conway@crunchydata.com> andme.
{%block title%}Support{%endblock%}
{%block contents%}
-<h1>Support</h1>
+<h1>Support <i class="fa fa-question-circle"></i></h1>
-<p>PostgreSQL has a wide variety of community and commercial support options available for users.
-The <a href="/community/">Community</a> section of this website details the support options available to users from the PostgreSQL
-community, including <a href="/community/lists/">mailing lists</a> and <a href="/community/irc/">IRC</a>.
-And don't forget to read the <a href="/docs/faq/">FAQs</a> and <a href="/docs/">documentation</a>.
+<p>PostgreSQL has a wide variety of community and commercial support options available for users, including:
+ <ul>
+ <li><a href="/docs/">Documentation</a></li>
+ <li>The <a href="/community/">Community</a> section, which details the support options available to users from the PostgreSQL community</li>
+ <li><a href="https://lists.postgresql.org/" target="_blank">Mailing Lists</a></li>
+ <li><a href="/community/irc/">IRC</a></li>
+ <li><a href="https://postgres-slack.herokuapp.com" target="_blank">Slack</a></li>
+ </ul>
</p>
-<p>Commercial support is also available from one of the many companies providing <a href="/support/professional_support">professional services</a>
-to the PostgreSQL community. A listing of companies that provide <a href="/support/professional_hosting">hosting</a> with PostgreSQL access is
+<p><a href="/support/professional_support/">Commercial support</a> is also available from one of the many companies providing <a href="/support/professional_support/">professional services</a>
+to the PostgreSQL community. A list of companies that provide <a href="/support/professional_hosting/">PostgreSQL-specific hosting</a> is
also available.</p>
<h2>Bug Reporting</h2>
{%extends "base/page.html"%}
{%block title%}{{title}}{%endblock%}
{%block contents%}
-<h1>{{title}}</h1>
+<h1>{{title}} <i class="fa fa-question-circle"></i></h1>
<p>The following {{whatname}} are registered in {{regionname}}.</p>\r
-{%for s in services%}
- <div class="tblBasic">\r
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">\r
- <tr>\r
- <td class="colFirst">Name</td>\r
- <td class="colMid"><strong>{{s.org.name}}</strong>{%if s.url%} (<a href="{{s.url}}">{{s.url}}</a>){%endif%}</td>\r
- <th class="colLast" />\r
- </tr>
- {%if s.provides_hosting and s.provides_support %}\r
- <tr>\r
- <td class="colFisrtT">Provides</td>\r
- <td class="colMidT">Provides both support and hosting.</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- <tr>\r
- <td class="colFirstT">Description</td>\r
- <td class="colMidT">{{s.description}}</td>\r
- <td class="colLastT" />\r
- </tr>\r
- {%if s.employees %}\r
- <tr>\r
- <td class="colFirstT">Number of employees</td>\r
- <td class="colMidT">{{s.employees}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- {%if s.locations%}\r
- <tr>\r
- <td class="colFirstT">Office locations</td>\r
- <td class="colMidT">{{s.locations}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- {%if s.hours %}
- <tr>\r
- <td class="colFirstT">Hours</td>\r
- <td class="colMidT">{{s.hours}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- {%if s.languages%}
- <tr>\r
- <td class="colFirstT">Languages</td>\r
- <td class="colMidT">{{s.languages}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- {%if s.customerexample%}
- <tr>\r
- <td class="colFirstT">Customer example</td>\r
- <td class="colMidT">{{s.customerexample}}</td>\r
- <td class="colLastT" />\r
- </tr>\r
- {%endif%}
- {%if s.experience %}
- <tr>\r
- <td class="colFirstT">Experience</td>\r
- <td class="colMidT">{{s.experience}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- {%if s.contact%}
- <tr class="lastrow">\r
- <td class="colFirstT">Contact information</td>\r
- <td class="colMidT">{{s.contact}}</td>\r
- <td class="colLastT" />\r
- </tr>
- {%endif%}\r
- </table>\r
- </div>
+{% for s in services %}
+ <h2 class="news">
+ <a href="{{s.url}}" target="_blank">{{ s.org.name }}</a>
+ </h2>
+ <table class="table table-striped">
+ <tbody>
+ {% if s.url %}
+ <tr>
+ <th scope="row">Website</th>
+ <td><a href="{{s.url}}" target="_blank">{{s.url}}</a></td>
+ </tr>
+ {% endif %}
+ <tr>
+ <th scope="row" style="width: 20%">Description</th>
+ <td>{{s.description}}</td>
+ </tr>
+ {% if s.provides_hosting and s.provides_support %}
+ <tr>
+ <th scope="row">Provides</th>
+ <td>Provides both support and hosting.</td>
+ </tr>
+ {% endif %}
+ {%if s.employees %}
+ <tr>
+ <th scope="row">Employees</th>
+ <td>{{s.employees}}</td>
+ </tr>
+ {% endif %}
+ {%if s.locations%}
+ <tr>
+ <th scope="row">Office locations</th>
+ <td>{{s.locations}}</td>
+ </tr>
+ {% endif %}
+ {% if s.hours %}
+ <tr>
+ <th scope="row">Hours</th>
+ <td>{{s.hours}}</td>
+ </tr>
+ {% endif %}
+ {% if s.languages %}
+ <tr>
+ <th scope="row">Languages</th>
+ <td>{{s.languages}}</td>
+ </tr>
+ {% endif %}
+ {% if s.customerexample %}
+ <tr>
+ <th scope="row">Customer example</th>
+ <td>{{s.customerexample}}</td>
+ </tr>
+ {% endif %}
+ {% if s.experience %}
+ <tr>
+ <th scope="row">Experience</th>
+ <td>{{s.experience}}</td>
+ </tr>
+ {% endif %}
+ {%if s.contact%}
+ <tr>
+ <th scope="row">Contact information</th>
+ <td>{{s.contact}}</td>
+ </tr>
+ {% endif %}
+ </tbody>
+ </table>
+ <hr />
{%endfor%}
{%endblock%}
{%extends "base/page.html"%}
{%block title%}{{title}}{%endblock%}
{%block contents%}
-<h1>{{title}}</h1>
+<h1>{{title}} <i class="fa fa-question-circle"></i></h1>
{%if support%}
<p>Commercial support is available from many different companies providing professional services
{%block title%}Security Information{%endblock%}
{%block contents%}
-<h1>Security Information</h1>
+<h1>Security Information <i class="fas fa-lock"></i></h1>
<p>
If you wish to report a new security vulnerability in PostgreSQL, please
- <a href="/support/security/">all</a>
</p>
-<div class="tblBasic">
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
- <tr>
- <th class="colFirst">Reference</th>
- <th class="colMid">Affected<br/>versions</th>
- <th class="colMid">Fixed in</th>
- <th class="colMid" align="center"><a href="#comp">Component</a> and<br/>CVSS v3 Base Score</th>
- <th class="colLast">Description</th>
- </tr>
-{%for p in patches%}
- <tr valign="top">
- <td class="colFirst">
-{%if p.cve%}<nobr>{%if p.cve_visible%}<a href="{{p.cvelink}}">CVE-{{p.cve}}</a>{%else%}CVE-{{p.cve}}{%endif%}</nobr><br/>{%endif%}
-{%if p.newspost%}<a href="/about/news/{{p.newspost.id}}/">Announcement</a><br/>{%endif%}
- </td>
- <td class="colMid">{{p.affected|join:", "}}</td>
- <td class="colMid">{{p.fixed|join:", "}}</td>
- <td class="colMid" align="center">
-{{p.component}}<br/>
-{%if p.cvssscore >= 0%}<a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector={{p.cvssvector}}">{{p.cvssscore}}</a><br/><span class="cvssvector">{{p.cvssvector}}</span>
-{%else%}Legacy: {{p.legacyscore}}{%endif%}</td>
- <td class="colLast">{{p.description}}{%if p.detailslink%}<br/><br/><a href="{{p.detailslink}}">more details</a>{%endif%}</td>
- </tr>
-{%endfor%}
-
- </table>
-</div>
+<table class="table table-striped">
+ <thead class="thead-light">
+ <tr>
+ <th>Reference</th>
+ <th>Affected</th>
+ <th>Fixed</th>
+ <th><a href="#comp">Component</a> & CVSS v3 Base Score</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ {%for p in patches%}
+ <tr>
+ <td>
+ {%if p.cve%}<nobr>{%if p.cve_visible%}<a href="{{p.cvelink}}">CVE-{{p.cve}}</a>{%else%}CVE-{{p.cve}}{%endif%}</nobr><br/>{%endif%}
+ {%if p.newspost%}<a href="/about/news/{{p.newspost.id}}/">Announcement</a><br/>{%endif%}
+ </td>
+ <td>{{p.affected|join:", "}}</td>
+ <td>{{p.fixed|join:", "}}</td>
+ <td>{{p.component}}<br/>
+ {%if p.cvssscore >= 0%}<a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector={{p.cvssvector}}">{{p.cvssscore}}</a><br/><span class="cvssvector">{{p.cvssvector}}</span>
+ {%else%}Legacy: {{p.legacyscore}}{%endif%}</td>
+ <td>{{p.description}}{%if p.detailslink%}<br/><br/><a href="{{p.detailslink}}">more details</a>{%endif%}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
<h3>Unsupported versions</h3>
<p>
The following component references are used in the above table:
</p>
-<div class="tblBasic">
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
- <tr>
- <th class="colFirst">Component</th>
-
- <th class="colLast">Description</th>
- </tr>
-
- <tr valign="top">
- <td class="colFirst">core server</td>
- <td class="colLast">This vulnerability exists in the core server product.</td>
- </tr>
-
- <tr valign="top">
- <td class="colFirst">client</td>
- <td class="colLast">This vulnerability exists in a client library or client application only.</td>
- </tr>
-
- <tr valign="top">
- <td class="colFirst">contrib module</td>
- <td class="colLast">This vulnerability exists in a contrib module. Contrib modules are not installed by default when PostgreSQL is installed from source. They may be installed by binary packages.</td>
-
- </tr>
-
- <tr valign="top">
- <td class="colFirst">client contrib module</td>
- <td class="colLast">This vulnerability exists in a contrib module used on the client only.</td>
- </tr>
-
- <tr valign="top" class="lastrow">
- <td class="colFirst">packaging</td>
- <td class="colLast">This vulnerability exists in PostgreSQL binary packaging, e.g. an installer or RPM.</td>
- </tr>
-
- </table>
-</div>
+<table class="table table-striped">
+ <thead class="thead-light">
+ <tr>
+ <th>Component</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>core server</td>
+ <td>This vulnerability exists in the core server product.</td>
+ </tr>
+
+ <tr>
+ <td>client</td>
+ <td>This vulnerability exists in a client library or client application only.</td>
+ </tr>
+
+ <tr>
+ <td>contrib module</td>
+ <td>This vulnerability exists in a contrib module. Contrib modules are not installed by default when PostgreSQL is installed from source. They may be installed by binary packages.</td>
+ </tr>
+
+ <tr>
+ <td>client contrib module</td>
+ <td>This vulnerability exists in a contrib module used on the client only.</td>
+ </tr>
+
+ <tr>
+ <td>packaging</td>
+ <td>This vulnerability exists in PostgreSQL binary packaging, e.g. an installer or RPM.</td>
+ </tr>
+ </tbody>
+</table>
{%endblock%}
{%block title%}Versioning policy{%endblock%}
{%block contents%}
-<h1>Versioning policy</h1>
+<h1>Versioning policy <i class="fas fa-code-branch"></i></h1>
<p>
<em>We always recommend that all users run the latest available minor release for whatever major version is in use.</em>
</p>
<h2>End Of Life (EOL) dates</h2>
-<div class="tblBasic">
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
- <tr>
- <th class="colFirst">Version</th>
- <th class="colMid">Current minor</th>
- <th class="colMid">Supported</th>
- <th class="colMid">First release date</th>
- <th class="colLast">EOL date</th>
- </tr>
-{%for v in versions%}
- <tr {%if forloop.last%}class="lastrow"{%endif%}>
- <td class="colFirst">{{v.numtree}}</td>
- <td class="colMid">{{v.numtree}}.{{v.latestminor}}</td>
- <td class="colMid">{{v.supported|yesno:"Yes,No"}}</td>
- <td class="colMid">{{v.firstreldate|date:"F Y"}}</td>
- <td class="colLast">{{v.eoldate|date:"F Y"}}</td>
- </tr>
-{%endfor%}
- </table>
-</div>
+<table class="table table-striped">
+ <thead class="thead-light">
+ <tr>
+ <th>Version</th>
+ <th>Current minor</th>
+ <th>Supported</th>
+ <th>First release date</th>
+ <th>EOL date</th>
+ </tr>
+ </thead>
+ <tbody>
+ {%for v in versions%}
+ <tr>
+ <td>{{v.numtree}}</td>
+ <td>{{v.numtree}}.{{v.latestminor}}</td>
+ <td>{{v.supported|yesno:"Yes,No"}}</td>
+ <td>{{v.firstreldate|date:"F Y"}}</td>
+ <td>{{v.eoldate|date:"F Y"}}</td>
+ </tr>
+ {%endfor%}
+ </tbody>
+</table>
{%endblock%}