<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1861581999;
        mso-list-type:hybrid;
        mso-list-template-ids:-1106342116 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>The PostGIS development team is pleased to release PostGIS 3.0.0alpha1.<o:p></o:p></p><p class=MsoNormal>This release works with PostgreSQL 9.5-12beta1  and GEOS >= 3.6<o:p></o:p></p><p class=MsoNormal>Best served with PostgreSQL 12beta1.<o:p></o:p></p><p class=MsoNormal>Details at: <a href="https://postgis.net/2019/05/26/postgis-3.0.0alpha1/">https://postgis.net/2019/05/26/postgis-3.0.0alpha1/</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Source: <a href="https://download.osgeo.org/postgis/source/postgis-3.0.0alpha1.tar.gz">https://download.osgeo.org/postgis/source/postgis-3.0.0alpha1.tar.gz</a><o:p></o:p></p><p class=MsoNormal>Docs PDF: <a href="https://download.osgeo.org/postgis/docs/postgis-3.0.0alpha1.pdf">https://download.osgeo.org/postgis/docs/postgis-3.0.0alpha1.pdf</a><o:p></o:p></p><p class=MsoNormal>Docs HTML: <a href="https://download.osgeo.org/postgis/docs/doc-html-3.0.0alpha1.tar.gz">https://download.osgeo.org/postgis/docs/doc-html-3.0.0alpha1.tar.gz</a><o:p></o:p></p><p class=MsoNormal>NEWS: <a href="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.0.0alpha1/NEWS">https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.0.0alpha1/NEWS</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Aside from the added functions and enhancements detailed in the news<o:p></o:p></p><p class=MsoNormal>The major changes that make PostGIS 3.0 different from prior versions<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>The raster support has been broken out into its own extension so from PostGIS 3 and moving forward to get raster support you need to install the raster extension as follows:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>CREATE EXTENSION postgis;<o:p></o:p></p><p class=MsoNormal>CREATE EXTENSION postgis_raster;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph>This was to satisfy non-raster users wanting fewer functions in their postgis install and also to allow those folks <o:p></o:p></p><p class=MsoListParagraph>who can’t build with GDAL support to still be able to use PostgreSQL extension plumbing for installing postgis<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>The Lib minor has been removed by default from the lib file.<o:p></o:p></p><p class=MsoListParagraph>This was done to ease future pg_upgrade.<o:p></o:p></p><p class=MsoListParagraph>So from now  for each PostGIS 3 minor that follows<o:p></o:p></p><p class=MsoListParagraph>e.g. 3.1, 3.2 etc<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph>the lib files will remain the same with extension -3 instead of -3.1, -3.2 and so forth.<o:p></o:p></p><p class=MsoListParagraph>Any removals of functions we do from now on will be stubbed with an error so that pg_upgrade can be  done smoothly from prior PostgreSQL installs.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>This one is specifically designed for PostgreSQL 12 – PostgreSQL 12 is the first version to no longer rely on SQL inlining.<o:p></o:p></p><p class=MsoListParagraph>For more than 10 years – PostGIS has been relying on what is called – SQL inlining – which allows us to define the function  ST_Intersects and many others as a combination of  && and _<i>ST</i>_Intersects  because && was the only piece that could use the index and the planner would peak into the function and break them apart into separate steps.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph>This has prevented us from properly costing our functions because if they are costed right, then inlining  breaks and the index never kicks in.<o:p></o:p></p><p class=MsoListParagraph>It also would just for whatever reason on occasion when the planner decided not to inline the function, result in very slow queries.<o:p></o:p></p><p class=MsoListParagraph>People have complained on the list on occasion of cases where the index did not kick in as a result.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph>PostgreSQL 12 introduced support functions in operator definition that PostGIS 3 uses for ST_Intersects and family so that the function can natively use the index without any inlining tricks.  This means we can now start properly costing things and also result in better plans since the planner won’t accidentally not use an index because it decided not to inline.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>For those running Proj6+ PostGIS 3.0 is first version to leverage Proj6 features – refer to -  <a href="http://blog.cleverelephant.ca/2019/02/proj4-postgis.html">http://blog.cleverelephant.ca/2019/02/proj4-postgis.html</a><o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>postgis.backend GUC has been removed.  The main reason for its existence was to allow same named SFCGAL functions to take over the behavior.<o:p></o:p></p><p class=MsoListParagraph>The 3D functions in postgis like ST_3DIntersects that couldn’t support TINS or solid 3D geometries have been augmented to support these so no longer need SFCGAL to achieve the same functionality and same named functions were from from postgis_sfcgal extension.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoNormal>Please test in particular the above features (more itemized in the NEWs) and report back if anything does not behave as you would expect.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Happy spatial querying,<o:p></o:p></p><p class=MsoNormal>PostGIS Development Team<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph><o:p> </o:p></p></div></body></html>