[postgis-users] Status of PostGIS 3 and PostgreSQL Yum Repos?

Daryl Herzmann akrherz at gmail.com
Wed Nov 6 18:23:25 PST 2019


Greetings,

Thanks for the continued support. I am using the RPM provided by
https://yum.postgresql.org/.

On RHEL7:

#  ldd /usr/proj62/lib/libproj.so
linux-vdso.so.1 =>  (0x00007ffcf7deb000)
libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007ff7a3f82000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff7a3d66000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff7a3a5f000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff7a375d000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff7a338f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff7a3179000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff7a2f75000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff7a46c3000)


On RHEL8:

# ldd /usr/proj62/lib/libproj.so
linux-vdso.so.1 (0x00007ffcea502000)
libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007fd3334b0000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd333290000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd332efb000)
libm.so.6 => /lib64/libm.so.6 (0x00007fd332b79000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd3327b5000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd33259d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd332399000)
libz.so.1 => /lib64/libz.so.1 (0x00007fd332182000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd333c54000)

The byte sizes of the .so files are different.  It appears they both
come from the same spec file

https://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob;f=rpm/redhat/master/proj62/master/proj62.spec

I have sqlite-libs-3.26.0-3.el8.x86_64 on RHEL8 and
sqlite-3.7.17-8.el7.x86_64 on RHEL7.

daryl

On Wed, Nov 6, 2019 at 3:35 PM Paul Ramsey <pramsey at cleverelephant.ca> wrote:
>
> Are the contents of the proj-6.2 packages the same on both systems? Like we’re looking mostly for build difference here, since the code versions are all the same…
>
> P
>
> > On Nov 6, 2019, at 1:31 PM, Daryl Herzmann <akrherz at gmail.com> wrote:
> >
> > Hi Paul,
> >
> > Thanks again for your response.  I ran valgrind like so:
> >
> > echo "explain analyze select st_transform(geom, 2163) from stations;"
> > | valgrind --tool=callgrind -v --dump-every-bb=100000000
> > /usr/pgsql-12/bin/postgres --single -D 12/data asos
> >
> > which resulted in the following log:
> >
> > https://mesonet.agron.iastate.edu/pickup/callgrind.zip
> >
> > I then attempted to look at the file in kcachegrind and am unsure what
> > I am looking at :)
> >
> > It seems to show a lot of time being spent in sqlite3 functions.  38
> > million calls to sqlite3VdbeSerialType ?
> >
> > daryl
> >
> > On Tue, Nov 5, 2019 at 9:45 PM Paul Ramsey <pramsey at cleverelephant.ca> wrote:
> >>
> >> Do you have access to cachegrind or some other sampling profiler in
> >> your environment? Maybe you can get a feel for where the cycles are
> >> different? Also, does your proj install include a pgk-config? You
> >> could check and see if the build flags differ between systems.
> >>
> >> On Tue, Nov 5, 2019 at 7:32 PM Daryl Herzmann <akrherz at gmail.com> wrote:
> >>>
> >>> Greetings,
> >>>
> >>> I have created a reproducer in development and can run whatever
> >>> command necessary to help debug this problem.  I can't resolve what I
> >>> should try though :)  Any suggestions?
> >>>
> >>> daryl
> >>>
> >>> On Mon, Nov 4, 2019 at 9:34 PM Daryl Herzmann <akrherz at gmail.com> wrote:
> >>>>
> >>>> Good evening Paul,
> >>>>
> >>>> Thanks for the reply.  Some more details:
> >>>>
> >>>> RHEL7
> >>>>
> >>>> # ldd /usr/pgsql-12/lib/postgis-3.so
> >>>> linux-vdso.so.1 =>  (0x00007ffc7ef0b000)
> >>>> libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbdc45b5000)
> >>>> libgeos_c.so.1 => /usr/geos38/lib64/libgeos_c.so.1 (0x00007fbdc4378000)
> >>>> libproj.so.15 => /usr/proj62/lib/libproj.so.15 (0x00007fbdc3eef000)
> >>>> libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007fbdc3ce4000)
> >>>> libprotobuf-c.so.1 => /lib64/libprotobuf-c.so.1 (0x00007fbdc3adb000)
> >>>> libxml2.so.2 => /lib64/libxml2.so.2 (0x00007fbdc3771000)
> >>>> libm.so.6 => /lib64/libm.so.6 (0x00007fbdc346f000)
> >>>> libSFCGAL.so.1 => /lib64/libSFCGAL.so.1 (0x00007fbdc29ac000)
> >>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbdc2796000)
> >>>> libc.so.6 => /lib64/libc.so.6 (0x00007fbdc23c8000)
> >>>> /lib64/ld-linux-x86-64.so.2 (0x00007fbdc4beb000)
> >>>> libgeos-3.8.0.so => /usr/geos38/lib64/libgeos-3.8.0.so (0x00007fbdc2000000)
> >>>> libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007fbdc1d4b000)
> >>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbdc1b2f000)
> >>>> libdl.so.2 => /lib64/libdl.so.2 (0x00007fbdc192b000)
> >>>> libz.so.1 => /lib64/libz.so.1 (0x00007fbdc1715000)
> >>>> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fbdc14ef000)
> >>>> libCGAL.so.11 => /usr/lib64/libCGAL.so.11 (0x00007fbdc12c7000)
> >>>> libCGAL_Core.so.11 => /usr/lib64/libCGAL_Core.so.11 (0x00007fbdc108e000)
> >>>> libmpfr.so.4 => /usr/lib64/libmpfr.so.4 (0x00007fbdc0e33000)
> >>>> libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fbdc0bbb000)
> >>>> libboost_date_time-mt.so.1.53.0 =>
> >>>> /usr/lib64/libboost_date_time-mt.so.1.53.0 (0x00007fbdc09aa000)
> >>>> libboost_thread-mt.so.1.53.0 =>
> >>>> /usr/lib64/libboost_thread-mt.so.1.53.0 (0x00007fbdc0793000)
> >>>> libboost_system-mt.so.1.53.0 =>
> >>>> /usr/lib64/libboost_system-mt.so.1.53.0 (0x00007fbdc058f000)
> >>>> libboost_serialization-mt.so.1.53.0 =>
> >>>> /usr/lib64/libboost_serialization-mt.so.1.53.0 (0x00007fbdc0323000)
> >>>> librt.so.1 => /usr/lib64/librt.so.1 (0x00007fbdc011b000)
> >>>>
> >>>> RHEL8
> >>>>
> >>>> # ldd /usr/pgsql-12/lib/postgis-3.so
> >>>> linux-vdso.so.1 (0x00007ffcb9f66000)
> >>>> libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff53a841000)
> >>>> libgeos_c.so.1 => /usr/geos38/lib64/libgeos_c.so.1 (0x00007ff53a602000)
> >>>> libproj.so.15 => /usr/proj62/lib/libproj.so.15 (0x00007ff53a175000)
> >>>> libjson-c.so.4 => /lib64/libjson-c.so.4 (0x00007ff539f65000)
> >>>> libprotobuf-c.so.1 => /lib64/libprotobuf-c.so.1 (0x00007ff539d5c000)
> >>>> libxml2.so.2 => /lib64/libxml2.so.2 (0x00007ff5399f4000)
> >>>> libm.so.6 => /lib64/libm.so.6 (0x00007ff539672000)
> >>>> libSFCGAL.so.1 => /lib64/libSFCGAL.so.1 (0x00007ff53897b000)
> >>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff538763000)
> >>>> libc.so.6 => /lib64/libc.so.6 (0x00007ff53839f000)
> >>>> /lib64/ld-linux-x86-64.so.2 (0x00007ff53af0e000)
> >>>> libgeos-3.8.0.so => /usr/geos38/lib64/libgeos-3.8.0.so (0x00007ff537fcc000)
> >>>> libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007ff537cb9000)
> >>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff537a99000)
> >>>> libdl.so.2 => /lib64/libdl.so.2 (0x00007ff537895000)
> >>>> libz.so.1 => /lib64/libz.so.1 (0x00007ff53767e000)
> >>>> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007ff537457000)
> >>>> libCGAL_Core.so.13 => /usr/lib64/libCGAL_Core.so.13 (0x00007ff5371b7000)
> >>>> libboost_thread.so.1.66.0 => /usr/lib64/libboost_thread.so.1.66.0
> >>>> (0x00007ff536f8b000)
> >>>> libboost_system.so.1.66.0 => /usr/lib64/libboost_system.so.1.66.0
> >>>> (0x00007ff536d86000)
> >>>> libboost_serialization.so.1.66.0 =>
> >>>> /usr/lib64/libboost_serialization.so.1.66.0 (0x00007ff536b45000)
> >>>> libboost_chrono.so.1.66.0 => /usr/lib64/libboost_chrono.so.1.66.0
> >>>> (0x00007ff53693c000)
> >>>> libboost_date_time.so.1.66.0 =>
> >>>> /usr/lib64/libboost_date_time.so.1.66.0 (0x00007ff536729000)
> >>>> libboost_atomic.so.1.66.0 => /usr/lib64/libboost_atomic.so.1.66.0
> >>>> (0x00007ff536527000)
> >>>> libCGAL.so.13 => /usr/lib64/libCGAL.so.13 (0x00007ff536308000)
> >>>> libmpfr.so.4 => /usr/lib64/libmpfr.so.4 (0x00007ff5360a4000)
> >>>> libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007ff535e0e000)
> >>>> librt.so.1 => /usr/lib64/librt.so.1 (0x00007ff535c05000)
> >>>>
> >>>> So RHEL8 has CGAL-4.14-1.rhel8.x86_64, whereas RHEL7 has
> >>>> CGAL-4.7-1.rhel7.1.x86_64
> >>>>
> >>>> This RHEL7 host was performing fine with previous PostgreSQL + Postgis
> >>>> releases.  Wonder what I could have fouled up....
> >>>>
> >>>> daryl
> >>>>
> >>>> On Mon, Nov 4, 2019 at 9:18 PM Paul Ramsey <pramsey at cleverelephant.ca> wrote:
> >>>>>
> >>>>> 40x is shocking and it looks like the only difference is red hat 7 vs 8.?
> >>>>>
> >>>>>> On Nov 4, 2019, at 6:47 PM, Daryl Herzmann <akrherz at gmail.com> wrote:
> >>>>>>
> >>>>>> Thanks for the response Raúl,
> >>>>>>
> >>>>>> I tried PostGIS 3.0 GA now on RHEL7 and am still seeing the same
> >>>>>> puzzling slow behaviour.  My RHEL8 development laptop crunches the
> >>>>>> same data through ST_Transform() in excellent time.  Here's a
> >>>>>> comparison of the explain analyze on both hosts
> >>>>>>
> >>>>>> RHEL7
> >>>>>>
> >>>>>> POSTGIS="3.0.0 r17983" [EXTENSION] PGSQL="120"
> >>>>>> GEOS="3.8.0-CAPI-1.13.1 " PROJ="6.2.0" LIBXML="2.9.1" LIBJSON="0.11"
> >>>>>> LIBPROTOBUF="1.0.2" WAGYU="0.4.3 (Internal)"
> >>>>>>
> >>>>>> explain analyze select st_transform(geom, 2163) from stations;
> >>>>>>                                                            QUERY
> >>>>>> PLAN
> >>>>>> -------------------------------------------------------------------------------------------------------------------------------------
> >>>>>> Gather  (cost=1000.00..113124.15 rows=69980 width=32) (actual
> >>>>>> time=3535.920..4624.442 rows=70025 loops=1)
> >>>>>>  Workers Planned: 1
> >>>>>>  Workers Launched: 1
> >>>>>>  ->  Parallel Seq Scan on stations  (cost=0.00..105126.15 rows=41165
> >>>>>> width=32) (actual time=4061.506..4104.824 rows=35012 loops=2)
> >>>>>> Planning Time: 0.057 ms
> >>>>>> Execution Time: 4627.474 ms
> >>>>>>
> >>>>>>
> >>>>>> RHEL8
> >>>>>>
> >>>>>> POSTGIS="3.0.0 r17983" [EXTENSION] PGSQL="120"
> >>>>>> GEOS="3.8.0-CAPI-1.13.1 " PROJ="6.2.0" LIBXML="2.9.7" LIBJSON="0.13.1"
> >>>>>> LIBPROTOBUF="1.3.0" WAGYU="0.4.3 (Internal)"
> >>>>>>
> >>>>>> explain analyze select st_transform(geom, 2163) from stations;
> >>>>>>                                                          QUERY PLAN
> >>>>>> ---------------------------------------------------------------------------------------------------------------------------------
> >>>>>> Gather  (cost=1000.00..112529.32 rows=69618 width=32) (actual
> >>>>>> time=46.818..90.248 rows=69618 loops=1)
> >>>>>>  Workers Planned: 1
> >>>>>>  Workers Launched: 1
> >>>>>>  ->  Parallel Seq Scan on stations  (cost=0.00..104567.52 rows=40952
> >>>>>> width=32) (actual time=49.211..72.335 rows=34809 loops=2)
> >>>>>> Planning Time: 0.036 ms
> >>>>>> Execution Time: 91.871 ms
> >>>>>>
> >>>>>>
> >>>>>> I don't have an exact copy of the data between the two hosts, but it is close.
> >>>>>>
> >>>>>> thanks
> >>>>>> daryl
> >>>>>>
> >>>>>>> On Wed, Oct 30, 2019 at 8:58 AM <rmrodriguez at carto.com> wrote:
> >>>>>>>
> >>>>>>> The are waiting for GDAL 3.0.2 to be out to package them together.
> >>>>>>> Source: https://twitter.com/DevrimGunduz/status/1189216750895882243
> >>>>>>>
> >>>>>>> In any case, ST_Transform is slower because PROJ6 is slower, but it
> >>>>>>> shouldn't be that slow.
> >>>>>>>
> >>>>>>>> On Wed, Oct 30, 2019 at 2:54 PM Daryl Herzmann <akrherz at gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Greetings,
> >>>>>>>>
> >>>>>>>> Does anybody know what's going on with the PostgreSQL Yum repos
> >>>>>>>> supporting PostGIS 3?  The repos continue to be stuck with 3.0 alpha4
> >>>>>>>>
> >>>>>>>> https://yum.postgresql.org/12/redhat/rhel-7-x86_64/
> >>>>>>>>
> >>>>>>>> I am having issues with performance with that alpha4 release and am
> >>>>>>>> hoping they magically go away with the GA release of version 3 :)
> >>>>>>>>
> >>>>>>>> https://redmine.postgresql.org/issues/4826
> >>>>>>>>
> >>>>>>>> Is there some public interface to see the build status results of these RPMs?
> >>>>>>>>
> >>>>>>>> thanks
> >>>>>>>> daryl
> >>>>>>>> _______________________________________________
> >>>>>>>> postgis-users mailing list
> >>>>>>>> postgis-users at lists.osgeo.org
> >>>>>>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Raúl Marín Rodríguez
> >>>>>>> carto.com
> >>>>>>> _______________________________________________
> >>>>>>> postgis-users mailing list
> >>>>>>> postgis-users at lists.osgeo.org
> >>>>>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
> >>>>>> _______________________________________________
> >>>>>> postgis-users mailing list
> >>>>>> postgis-users at lists.osgeo.org
> >>>>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
> >>>>> _______________________________________________
> >>>>> postgis-users mailing list
> >>>>> postgis-users at lists.osgeo.org
> >>>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
> >>> _______________________________________________
> >>> postgis-users mailing list
> >>> postgis-users at lists.osgeo.org
> >>> https://lists.osgeo.org/mailman/listinfo/postgis-users
> >> _______________________________________________
> >> postgis-users mailing list
> >> postgis-users at lists.osgeo.org
> >> https://lists.osgeo.org/mailman/listinfo/postgis-users
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/postgis-users
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-users


More information about the postgis-users mailing list