Thread

Commits

  1. Remove contrib/tsearch2.

  2. Create stub functions to support pg_upgrade of old contrib/tsearch2.

  3. Add backwards-compatible declarations of some core GIN support functions.

  4. Fix bug with multiple evaluation of tsearch2 compatibility trigger, trigger

  1. removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-10T11:28:05Z

    On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    > On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    >> * Robert Haas (robertmhaas@gmail.com) wrote:
    >> > On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >> > > Also, our experience with contrib/tsearch2 suggests that the extension
    >> > > shouldn't be part of contrib, because we have zero track record of getting
    >> > > rid of stuff in contrib, no matter how dead it is.
    >> >
    >> > Let's nuke tsearch2 to remove this adverse precedent, and then add the
    >> > new thing.
    >> >
    >> > Anybody who still wants tsearch2 can go get it from an old version, or
    >> > somebody can maintain a fork on github.
    >>
    >> Works for me.
    >
    > +1
    
    OK, that's three votes in favor of removing tsearch2 (from core,
    anyone who wants it can maintain a copy elsewhere).  Starting a new
    thread to make sure we collect all the relevant votes, but I really,
    really think it's past time for this to go away.  The last actual
    change to tsearch2 which wasn't part of a wider cleanup was
    3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    7 years since there's been any real work done on this -- and the
    release where we brought tsearch into core is now EOL, plus three more
    releases besides.
    
    --
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  2. Re: removing tsearch2

    Michael Paquier <michael.paquier@gmail.com> — 2017-02-10T12:12:10Z

    On Fri, Feb 10, 2017 at 8:28 PM, Robert Haas <robertmhaas@gmail.com> wrote:
    > On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    >> On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    >>> * Robert Haas (robertmhaas@gmail.com) wrote:
    >>> > On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >>> > > Also, our experience with contrib/tsearch2 suggests that the extension
    >>> > > shouldn't be part of contrib, because we have zero track record of getting
    >>> > > rid of stuff in contrib, no matter how dead it is.
    >>> >
    >>> > Let's nuke tsearch2 to remove this adverse precedent, and then add the
    >>> > new thing.
    >>> >
    >>> > Anybody who still wants tsearch2 can go get it from an old version, or
    >>> > somebody can maintain a fork on github.
    >>>
    >>> Works for me.
    >>
    >> +1
    >
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).  Starting a new
    > thread to make sure we collect all the relevant votes, but I really,
    > really think it's past time for this to go away.  The last actual
    > change to tsearch2 which wasn't part of a wider cleanup was
    > 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    > 7 years since there's been any real work done on this -- and the
    > release where we brought tsearch into core is now EOL, plus three more
    > releases besides.
    
    +1.
    -- 
    Michael
    
    
    
  3. Re: removing tsearch2

    Daniel Gustafsson <daniel@yesql.se> — 2017-02-10T13:56:59Z

    > On 10 Feb 2017, at 12:28, Robert Haas <robertmhaas@gmail.com> wrote:
    > 
    > On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    >> On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    >>> * Robert Haas (robertmhaas@gmail.com) wrote:
    >>>> On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >>>>> Also, our experience with contrib/tsearch2 suggests that the extension
    >>>>> shouldn't be part of contrib, because we have zero track record of getting
    >>>>> rid of stuff in contrib, no matter how dead it is.
    >>>> 
    >>>> Let's nuke tsearch2 to remove this adverse precedent, and then add the
    >>>> new thing.
    >>>> 
    >>>> Anybody who still wants tsearch2 can go get it from an old version, or
    >>>> somebody can maintain a fork on github.
    >>> 
    >>> Works for me.
    >> 
    >> +1
    > 
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).  Starting a new
    > thread to make sure we collect all the relevant votes, but I really,
    > really think it's past time for this to go away.  The last actual
    > change to tsearch2 which wasn't part of a wider cleanup was
    > 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    > 7 years since there's been any real work done on this -- and the
    > release where we brought tsearch into core is now EOL, plus three more
    > releases besides.
    
    FWIW, +1
    
    cheers ./daniel
    
    
  4. Re: removing tsearch2

    Tom Lane <tgl@sss.pgh.pa.us> — 2017-02-10T14:28:12Z

    Robert Haas <robertmhaas@gmail.com> writes:
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).  Starting a new
    > thread to make sure we collect all the relevant votes, but I really,
    > really think it's past time for this to go away.  The last actual
    > change to tsearch2 which wasn't part of a wider cleanup was
    > 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    > 7 years since there's been any real work done on this -- and the
    > release where we brought tsearch into core is now EOL, plus three more
    > releases besides.
    
    I'm abstaining on the actual vote, but I just wanted to note that there's
    at least two layers of stub compatibility functions in core that are
    there only to support tsearch2, cf commits
    eb43e851d6b3fa0c4516efcfdf29a183f7717a43
    6595dd04d136d5c97ae05fc580572c8f00042143
    ... and there might be more that I missed in quickly scanning the
    commit log.  We should probably investigate whether those can be
    gotten rid of without damaging the maintainability of the external
    module.  I *think* these were only needed as short-term hacks but
    don't want to say for sure because ENOCAFFEINE.
    
    			regards, tom lane
    
    
    
  5. Re: removing tsearch2

    Alexander Korotkov <a.korotkov@postgrespro.ru> — 2017-02-10T14:35:17Z

    On Fri, Feb 10, 2017 at 2:28 PM, Robert Haas <robertmhaas@gmail.com> wrote:
    
    > On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    > > On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    > >> * Robert Haas (robertmhaas@gmail.com) wrote:
    > >> > On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    > >> > > Also, our experience with contrib/tsearch2 suggests that the
    > extension
    > >> > > shouldn't be part of contrib, because we have zero track record of
    > getting
    > >> > > rid of stuff in contrib, no matter how dead it is.
    > >> >
    > >> > Let's nuke tsearch2 to remove this adverse precedent, and then add the
    > >> > new thing.
    > >> >
    > >> > Anybody who still wants tsearch2 can go get it from an old version, or
    > >> > somebody can maintain a fork on github.
    > >>
    > >> Works for me.
    > >
    > > +1
    >
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).  Starting a new
    > thread to make sure we collect all the relevant votes, but I really,
    > really think it's past time for this to go away.  The last actual
    > change to tsearch2 which wasn't part of a wider cleanup was
    > 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    > 7 years since there's been any real work done on this -- and the
    > release where we brought tsearch into core is now EOL, plus three more
    > releases besides.
    >
    
    +1
    
    ------
    Alexander Korotkov
    Postgres Professional: http://www.postgrespro.com
    The Russian Postgres Company
    
  6. Re: removing tsearch2

    David Steele <david@pgmasters.net> — 2017-02-10T14:41:37Z

    On 2/10/17 6:28 AM, Robert Haas wrote:
    > On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    >> On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    >>> * Robert Haas (robertmhaas@gmail.com) wrote:
    >>>> On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >>>>> Also, our experience with contrib/tsearch2 suggests that the extension
    >>>>> shouldn't be part of contrib, because we have zero track record of getting
    >>>>> rid of stuff in contrib, no matter how dead it is.
    >>>>
    >>>> Let's nuke tsearch2 to remove this adverse precedent, and then add the
    >>>> new thing.
    >>>>
    >>>> Anybody who still wants tsearch2 can go get it from an old version, or
    >>>> somebody can maintain a fork on github.
    >>>
    >>> Works for me.
    >>
    >> +1
    > 
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).  Starting a new
    > thread to make sure we collect all the relevant votes, but I really,
    > really think it's past time for this to go away.  The last actual
    > change to tsearch2 which wasn't part of a wider cleanup was
    > 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    > 7 years since there's been any real work done on this -- and the
    > release where we brought tsearch into core is now EOL, plus three more
    > releases besides.
    
    +1
    
    -- 
    -David
    david@pgmasters.net
    
    
    
  7. Re: removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-10T16:18:48Z

    On Fri, Feb 10, 2017 at 9:28 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    > Robert Haas <robertmhaas@gmail.com> writes:
    >> OK, that's three votes in favor of removing tsearch2 (from core,
    >> anyone who wants it can maintain a copy elsewhere).  Starting a new
    >> thread to make sure we collect all the relevant votes, but I really,
    >> really think it's past time for this to go away.  The last actual
    >> change to tsearch2 which wasn't part of a wider cleanup was
    >> 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    >> 7 years since there's been any real work done on this -- and the
    >> release where we brought tsearch into core is now EOL, plus three more
    >> releases besides.
    >
    > I'm abstaining on the actual vote, but I just wanted to note that there's
    > at least two layers of stub compatibility functions in core that are
    > there only to support tsearch2, cf commits
    > eb43e851d6b3fa0c4516efcfdf29a183f7717a43
    > 6595dd04d136d5c97ae05fc580572c8f00042143
    > ... and there might be more that I missed in quickly scanning the
    > commit log.  We should probably investigate whether those can be
    > gotten rid of without damaging the maintainability of the external
    > module.  I *think* these were only needed as short-term hacks but
    > don't want to say for sure because ENOCAFFEINE.
    
    That's not a bad idea, but I think it's an independent issue.  If the
    hacks are still needed for an external module, we shouldn't go out of
    our way to remove them even if we nuke tsearch2 (but we don't need to
    maintain them going forward unless we get a complaint).  If they hacks
    aren't still needed, they could be removed whether or not we keep
    tsearch2 in contrib.  Unless I'm confused?
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  8. Re: removing tsearch2

    Tom Lane <tgl@sss.pgh.pa.us> — 2017-02-10T17:32:41Z

    Robert Haas <robertmhaas@gmail.com> writes:
    > That's not a bad idea, but I think it's an independent issue.  If the
    > hacks are still needed for an external module, we shouldn't go out of
    > our way to remove them even if we nuke tsearch2 (but we don't need to
    > maintain them going forward unless we get a complaint).  If they hacks
    > aren't still needed, they could be removed whether or not we keep
    > tsearch2 in contrib.  Unless I'm confused?
    
    Technically, it's probably independent of whether we keep tsearch2 in
    contrib.  I think (but haven't researched it) that it's more a matter
    of whether we care to still support direct upgrades from pre-release-N
    versions of tsearch2, for some N.  Politically though, I think it'll
    be easier to make an aggressive decision in that regard if we are
    tossing tsearch2 out of contrib.
    
    			regards, tom lane
    
    
    
  9. Re: removing tsearch2

    Josh Berkus <josh@berkus.org> — 2017-02-10T18:14:14Z

    On 02/10/2017 06:41 AM, David Steele wrote:
    > On 2/10/17 6:28 AM, Robert Haas wrote:
    >> On Thu, Feb 9, 2017 at 7:37 PM, Andres Freund <andres@anarazel.de> wrote:
    >>> On 2017-02-09 19:19:21 -0500, Stephen Frost wrote:
    >>>> * Robert Haas (robertmhaas@gmail.com) wrote:
    >>>>> On Thu, Feb 9, 2017 at 4:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >>>>>> Also, our experience with contrib/tsearch2 suggests that the extension
    >>>>>> shouldn't be part of contrib, because we have zero track record of getting
    >>>>>> rid of stuff in contrib, no matter how dead it is.
    >>>>>
    >>>>> Let's nuke tsearch2 to remove this adverse precedent, and then add the
    >>>>> new thing.
    >>>>>
    >>>>> Anybody who still wants tsearch2 can go get it from an old version, or
    >>>>> somebody can maintain a fork on github.
    >>>>
    >>>> Works for me.
    >>>
    >>> +1
    >>
    >> OK, that's three votes in favor of removing tsearch2 (from core,
    >> anyone who wants it can maintain a copy elsewhere).  Starting a new
    >> thread to make sure we collect all the relevant votes, but I really,
    >> really think it's past time for this to go away.  The last actual
    >> change to tsearch2 which wasn't part of a wider cleanup was
    >> 3ca7eddbb7c4803729d385a0c9535d8a972ee03f in January 2009, so it's been
    >> 7 years since there's been any real work done on this -- and the
    >> release where we brought tsearch into core is now EOL, plus three more
    >> releases besides.
    > 
    > +1
    > 
    
    +1
    
    -- 
    Josh Berkus
    Containers & Databases Oh My!
    
    
    
  10. Re: removing tsearch2

    Peter Geoghegan <pg@bowt.ie> — 2017-02-10T18:18:39Z

    On Fri, Feb 10, 2017 at 3:28 AM, Robert Haas <robertmhaas@gmail.com> wrote:
    >>> Works for me.
    >>
    >> +1
    >
    > OK, that's three votes in favor of removing tsearch2 (from core,
    > anyone who wants it can maintain a copy elsewhere).
    
    +1.
    
    I'd also be in favor of either removing contrib/isn, or changing it so
    that the ISBN country code prefix enforcement went away. That would
    actually not imply and real loss of functionality from a practical
    perspective, since you can still enforce that the check digit is
    correct without any of that. I think that the existing design of some
    parts of contrib/isn is just horrible.
    
    -- 
    Peter Geoghegan
    
    
    
  11. Re: removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-10T18:26:02Z

    On Fri, Feb 10, 2017 at 1:18 PM, Peter Geoghegan <pg@bowt.ie> wrote:
    > I'd also be in favor of either removing contrib/isn, or changing it so
    > that the ISBN country code prefix enforcement went away. That would
    > actually not imply and real loss of functionality from a practical
    > perspective, since you can still enforce that the check digit is
    > correct without any of that. I think that the existing design of some
    > parts of contrib/isn is just horrible.
    
    There's no question that contrib/isn is not well-designed, but whether
    to remove it is a question for a different thread than this one.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  12. Re: removing tsearch2

    Josh Berkus <josh@berkus.org> — 2017-02-10T18:27:08Z

    On 02/10/2017 10:18 AM, Peter Geoghegan wrote:
    > On Fri, Feb 10, 2017 at 3:28 AM, Robert Haas <robertmhaas@gmail.com> wrote:
    >>>> Works for me.
    >>>
    >>> +1
    >>
    >> OK, that's three votes in favor of removing tsearch2 (from core,
    >> anyone who wants it can maintain a copy elsewhere).
    > 
    > +1.
    > 
    > I'd also be in favor of either removing contrib/isn, or changing it so
    > that the ISBN country code prefix enforcement went away. That would
    > actually not imply and real loss of functionality from a practical
    > perspective, since you can still enforce that the check digit is
    > correct without any of that. I think that the existing design of some
    > parts of contrib/isn is just horrible.
    
    +1 to quick-fix it, -1 to just delete it.
    
    There's a bunch of these things in /contrib which really ought to be
    PGXN extensions (also CUBE, earthdistance, etc.).  However, one of the
    steps in that would be getting the mainstream platforms to package them
    so that users have a reasonable upgrade path, so I would not propose
    doing it for 10.
    
    -- 
    Josh Berkus
    Containers & Databases Oh My!
    
    
    
  13. Re: removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-10T18:41:00Z

    On Fri, Feb 10, 2017 at 12:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    > Robert Haas <robertmhaas@gmail.com> writes:
    >> That's not a bad idea, but I think it's an independent issue.  If the
    >> hacks are still needed for an external module, we shouldn't go out of
    >> our way to remove them even if we nuke tsearch2 (but we don't need to
    >> maintain them going forward unless we get a complaint).  If they hacks
    >> aren't still needed, they could be removed whether or not we keep
    >> tsearch2 in contrib.  Unless I'm confused?
    >
    > Technically, it's probably independent of whether we keep tsearch2 in
    > contrib.  I think (but haven't researched it) that it's more a matter
    > of whether we care to still support direct upgrades from pre-release-N
    > versions of tsearch2, for some N.  Politically though, I think it'll
    > be easier to make an aggressive decision in that regard if we are
    > tossing tsearch2 out of contrib.
    
    I agree that it's OK to desupport direct upgrades from ancient
    releases to the very latest code at some point in time, and if
    somebody thinks that's important work to reduce future maintenance or
    just to tidy up, I'm not going to oppose it strenuously.  But I
    wouldn't be in any rush either.
    
    Anyway, it seems like the consensus here is unanimous.  Unless there
    are a LARGE number of contrary votes in the meanwhile, I'll go make
    this happen sometime next week.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  14. Re: removing tsearch2

    Andrew Dunstan <andrew.dunstan@2ndquadrant.com> — 2017-02-10T20:24:08Z

    
    On 02/10/2017 01:27 PM, Josh Berkus wrote:
    > On 02/10/2017 10:18 AM, Peter Geoghegan wrote:
    >> On Fri, Feb 10, 2017 at 3:28 AM, Robert Haas <robertmhaas@gmail.com> wrote:
    >>>>> Works for me.
    >>>> +1
    >>> OK, that's three votes in favor of removing tsearch2 (from core,
    >>> anyone who wants it can maintain a copy elsewhere).
    >> +1.
    >>
    >> I'd also be in favor of either removing contrib/isn, or changing it so
    >> that the ISBN country code prefix enforcement went away. That would
    >> actually not imply and real loss of functionality from a practical
    >> perspective, since you can still enforce that the check digit is
    >> correct without any of that. I think that the existing design of some
    >> parts of contrib/isn is just horrible.
    > +1 to quick-fix it, -1 to just delete it.
    >
    > There's a bunch of these things in /contrib which really ought to be
    > PGXN extensions (also CUBE, earthdistance, etc.).  However, one of the
    > steps in that would be getting the mainstream platforms to package them
    > so that users have a reasonable upgrade path, so I would not propose
    > doing it for 10.
    >
    
    
    
    Part of the reason for keeping a number of extensions is that it helps
    test our extension infrastructure. Also they server as good pieces of
    example code. So I don't want to get rid of them all, or even any of
    them that have any degree of significant use. I think these days
    tsearch2 is very largely redundant, so that means there's a good reason
    not to keep it. But that's not true of cube, isn etc.
    
    cheers
    
    andrew
    
    -- 
    Andrew Dunstan                https://www.2ndQuadrant.com
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
    
    
    
    
  15. Re: removing tsearch2

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-13T02:09:34Z

    On 2/10/17 2:24 PM, Andrew Dunstan wrote:
    >> There's a bunch of these things in /contrib which really ought to be
    >> PGXN extensions (also CUBE, earthdistance, etc.).  However, one of the
    >> steps in that would be getting the mainstream platforms to package them
    >> so that users have a reasonable upgrade path, so I would not propose
    >> doing it for 10.
    >
    > Part of the reason for keeping a number of extensions is that it helps
    > test our extension infrastructure. Also they server as good pieces of
    > example code. So I don't want to get rid of them all, or even any of
    > them that have any degree of significant use. I think these days
    > tsearch2 is very largely redundant, so that means there's a good reason
    > not to keep it. But that's not true of cube, isn etc.
    
    That's based on an assumption that PGXN shouldn't be treated as part of 
    the community effort, which I think is a mistake. Having a robust, 
    community run extension/package/module framework has proven to be 
    extremely valuable for other programming environments, and IMHO we 
    should be striving to improve in that area.
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  16. Re: removing tsearch2

    Magnus Hagander <magnus@hagander.net> — 2017-02-13T08:37:57Z

    On Mon, Feb 13, 2017 at 3:09 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
    
    > On 2/10/17 2:24 PM, Andrew Dunstan wrote:
    >
    >> There's a bunch of these things in /contrib which really ought to be
    >>> PGXN extensions (also CUBE, earthdistance, etc.).  However, one of the
    >>> steps in that would be getting the mainstream platforms to package them
    >>> so that users have a reasonable upgrade path, so I would not propose
    >>> doing it for 10.
    >>>
    >>
    >> Part of the reason for keeping a number of extensions is that it helps
    >> test our extension infrastructure. Also they server as good pieces of
    >> example code. So I don't want to get rid of them all, or even any of
    >> them that have any degree of significant use. I think these days
    >> tsearch2 is very largely redundant, so that means there's a good reason
    >> not to keep it. But that's not true of cube, isn etc.
    >>
    >
    > That's based on an assumption that PGXN shouldn't be treated as part of
    > the community effort, which I think is a mistake. Having a robust,
    > community run extension/package/module framework has proven to be extremely
    > valuable for other programming environments, and IMHO we should be striving
    > to improve in that area.
    
    
    Until pgxn has a way of helping users on for example Windows (or other
    platforms where they don't have a pgxs system and a compiler around), it's
    always going to be a "second class citizen".
    
    It's certainly part of the community efforts in many ways, but it's a
    significant loss of usability compared to things that are included. And
    from the perspective of the testing the infrastructure, you'd loose a lot
    of platform coverage (unless you can find a way to integrate pgxn building
    with the buildfarm).
    
    -- 
     Magnus Hagander
     Me: http://www.hagander.net/
     Work: http://www.redpill-linpro.com/
    
  17. Re: removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-13T16:07:22Z

    On Fri, Feb 10, 2017 at 1:41 PM, Robert Haas <robertmhaas@gmail.com> wrote:
    > Anyway, it seems like the consensus here is unanimous.  Unless there
    > are a LARGE number of contrary votes in the meanwhile, I'll go make
    > this happen sometime next week.
    
    Done.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  18. Re: removing tsearch2

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-14T13:37:50Z

    On 2/13/17 2:37 AM, Magnus Hagander wrote:
    >     That's based on an assumption that PGXN shouldn't be treated as part
    >     of the community effort, which I think is a mistake. Having a
    >     robust, community run extension/package/module framework has proven
    >     to be extremely valuable for other programming environments, and
    >     IMHO we should be striving to improve in that area.
    >
    >
    > Until pgxn has a way of helping users on for example Windows (or other
    > platforms where they don't have a pgxs system and a compiler around),
    > it's always going to be a "second class citizen".
    
    I view that as more of a failing of pgxs than pgxn. Granted, the most 
    common (only?) pgxn client right now is written in python, but it's 
    certainly possible to run that on windows with some effort (BigSQL does 
    it), and I'm fairly certain it's not that hard to package a python 
    script as a windows .exe.
    
    > It's certainly part of the community efforts in many ways, but it's a
    > significant loss of usability compared to things that are included. And
    > from the perspective of the testing the infrastructure, you'd loose a
    > lot of platform coverage (unless you can find a way to integrate pgxn
    > building with the buildfarm).
    
    Right; I think we need at least some amount of pgxn buildfarm coverage. 
    There probably also needs to be a way to officially bless certain 
    distributions. Unless there's a pretty significant need for an official 
    extension to be in contrib, it should go into PGXN.
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  19. Re: removing tsearch2

    Robert Haas <robertmhaas@gmail.com> — 2017-02-14T14:24:16Z

    On Tue, Feb 14, 2017 at 8:37 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
    > Right; I think we need at least some amount of pgxn buildfarm coverage.
    > There probably also needs to be a way to officially bless certain
    > distributions. Unless there's a pretty significant need for an official
    > extension to be in contrib, it should go into PGXN.
    
    I'm not sure a need-based test is going to be entirely the right
    thing.  The advantage of having something in contrib is that the core
    developers will maintain it for you.  When things change from release
    to release, everything in contrib necessarily gets updated; things on
    PGXN or elsewhere only get updated if their owners update them.  There
    are several good things about that.  First, it means that people can
    rely on the stuff in contrib mostly sticking around for future
    releases, except occasionally when we decide to drop a module.
    Second, it gives maintainers of external modules examples of what they
    need to do to update their code when we change the core APIs.  Third,
    it's probably actually more efficient for one person to go sweep
    through a large number of modules and fix them all at once than if
    those things were all on PGXN with separate owners.  Now, you can
    overdo that: I don't want to be responsible for every module on PGXN
    or anything close to it.  But on balance I think there's a good case
    for shipping a substantial set of modules in contrib.
    
    I think, in general, that we've done a good job increasing the quality
    of contrib over time.  Pretty much all of the new stuff we've added is
    fairly solid, and we cleaned things up significantly by moving test
    code to src/test/modules.  But we've still got some older modules in
    contrib whose quality and general usefulness is pretty questionable
    IMV: earthdistance, intagg, intarray, isn, and of course the
    eternally-deprecated but never-actually-removed xml2.  I'm not in a
    hurry to expend a lot of energy removing any of that stuff, and I
    think we might be reaching our quota of backward-incompatible changes
    for this release, but it's questionable in my mind whether having
    those things there works out to a net plus.  There's a lot of good
    stuff in contrib, though, and I don't think we should be averse to
    adding more in the future.  It shouldn't be just that any random
    contrib module somebody writes can get dropped into the core
    distribution, but I think we ought to be open to reasonable proposals
    to add things there when it makes sense.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  20. Re: removing tsearch2

    David E. Wheeler <david@justatheory.com> — 2017-02-14T17:26:18Z

    On Feb 14, 2017, at 5:37 AM, Jim Nasby <Jim.Nasby@BlueTreble.com> wrote:
    
    >> Until pgxn has a way of helping users on for example Windows (or other
    >> platforms where they don't have a pgxs system and a compiler around),
    >> it's always going to be a "second class citizen".
    > 
    > I view that as more of a failing of pgxs than pgxn. Granted, the most common (only?) pgxn client right now is written in python, but it's certainly possible to run that on windows with some effort (BigSQL does it), and I'm fairly certain it's not that hard to package a python script as a windows .exe.
    
    Yeah, that’s outside of PGXN’s mandate. It doesn’t do any installing at all, just distribution (release, search, download). Even the Python client just looks to see what build support is in a distribution it downloads to decide how to build it (make, configure, etc.), IIRC.
    
    David
    
    
  21. Re: removing tsearch2

    Magnus Hagander <magnus@hagander.net> — 2017-02-14T17:37:48Z

    On Feb 14, 2017 18:26, "David E. Wheeler" <david@justatheory.com> wrote:
    
    On Feb 14, 2017, at 5:37 AM, Jim Nasby <Jim.Nasby@BlueTreble.com> wrote:
    
    >> Until pgxn has a way of helping users on for example Windows (or other
    >> platforms where they don't have a pgxs system and a compiler around),
    >> it's always going to be a "second class citizen".
    >
    > I view that as more of a failing of pgxs than pgxn. Granted, the most
    common (only?) pgxn client right now is written in python, but it's
    certainly possible to run that on windows with some effort (BigSQL does
    it), and I'm fairly certain it's not that hard to package a python script
    as a windows .exe.
    
    Yeah, that’s outside of PGXN’s mandate. It doesn’t do any installing at
    all, just distribution (release, search, download). Even the Python client
    just looks to see what build support is in a distribution it downloads to
    decide how to build it (make, configure, etc.), IIRC.
    
    
    
    It's a failing in one of the two at least. It either needs to be easier to
    build the things on windows, or pgxn would need to learn to do binary
    distributions.
    
    Even if we get the building easier on windows, it'll likely remain a second
    class citizen (though better than today's third class), given the amount of
    windows machines that actually have a compiler on them for start. Pgxs in
    Windows would be a big improvement, but it won't solve the problem.
    
    /Magnus
    
  22. Re: removing tsearch2

    David E. Wheeler <david@justatheory.com> — 2017-02-14T17:48:52Z

    On Feb 14, 2017, at 9:37 AM, Magnus Hagander <magnus@hagander.net> wrote:
    
    > It's a failing in one of the two at least. It either needs to be easier to build the things on windows, or pgxn would need to learn to do binary distributions. 
    
    PGXN makes no effort to support installation on any platform at all. Happy to work with anyone who wants to add binary distribution, but supporting multiple platforms might be a PITA. Maybe there’d be a way to integrate with the RPM and .deb and Windows repos (is there something like that for Windows?).
    
    > Even if we get the building easier on windows, it'll likely remain a second class citizen (though better than today's third class), given the amount of windows machines that actually have a compiler on them for start. Pgxs in Windows would be a big improvement, but it won't solve the problem. 
    
    Yep.
    
    David
    
    
  23. Official adoption of PGXN (was: removing tsearch2)

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-14T19:53:02Z

    First, just to clarify: my reasons for proposing "core adoption" of PGXN 
    are not technical in nature. My desire is to have an extension/add-on 
    system that's officially endorsed and embraced by the official 
    community, similar to CPAN, pypy, npm, etc. There's no technical reason 
    we need PGXN to be a first class citizen, but IMHO making it a first 
    class citizen would greatly enhance the usefulness of Postgres and 
    strengthen & expand the community. That community expansion should 
    eventually result in an increase in new contributors to the database 
    code itself.
    
    On 2/14/17 8:24 AM, Robert Haas wrote:
    > On Tue, Feb 14, 2017 at 8:37 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
    >> Right; I think we need at least some amount of pgxn buildfarm coverage.
    >> There probably also needs to be a way to officially bless certain
    >> distributions. Unless there's a pretty significant need for an official
    >> extension to be in contrib, it should go into PGXN.
    >
    > I'm not sure a need-based test is going to be entirely the right
    > thing.  The advantage of having something in contrib is that the core
    > developers will maintain it for you.
    
    With fairly minimal effort, that could be true of something in another 
    repository though.
    
    > When things change from release
    > to release, everything in contrib necessarily gets updated; things on
    > PGXN or elsewhere only get updated if their owners update them.  There
    
    Right, and the intricate tie between contrib and rest of the database is 
    why I'm not proposing ditching contrib completely. There's clearly some 
    cases when that close tie makes the contrib code significantly simpler. 
    (Though, it'd certainly be great if we found a way to reduce the 
    multi-version support overhead for all extension creators!)
    
    > are several good things about that.  First, it means that people can
    > rely on the stuff in contrib mostly sticking around for future
    > releases, except occasionally when we decide to drop a module.
    > Second, it gives maintainers of external modules examples of what they
    > need to do to update their code when we change the core APIs.  Third,
    > it's probably actually more efficient for one person to go sweep
    > through a large number of modules and fix them all at once than if
    > those things were all on PGXN with separate owners.  Now, you can
    > overdo that: I don't want to be responsible for every module on PGXN
    > or anything close to it.  But on balance I think there's a good case
    > for shipping a substantial set of modules in contrib.
    
    I agree with your points, but AFAIK there's no reason that needs to 
    happen in contrib. There could certainly be a dedicated git.PG.org repo 
    for official extensions. AFAICT that would meet all your points 
    (understanding that code that really needed to be tied to specific 
    versions could remain in contrib).
    
    Another option would be to start with just publishing most/all of what's 
    in contrib on PGXN. Most OS packaging solutions for contrib seem rather 
    clunky/arbitrary to me, so having pgxnclient as an install option would 
    probably be welcome to some users. This would mean an additional step in 
    the release process, but AFAIK that could be hidden behind a single make 
    target (whoever's doing the release would also need access to the 
    relevant account on pgxn.org).
    
    ... points about current contrib modules that I agree with...
    
    > There's a lot of good
    > stuff in contrib, though, and I don't think we should be averse to
    > adding more in the future.  It shouldn't be just that any random
    > contrib module somebody writes can get dropped into the core
    > distribution, but I think we ought to be open to reasonable proposals
    > to add things there when it makes sense.
    
    Right now contrib is serving two completely separate purposes:
    
    1) location for code that (for technical reasons) should be tied to 
    specific PG versions
    2) indication of "official endorsement" of a module by the community
    
    My view is that we've turned #2 into a nail simply because of the hammer 
    we built for #1 (certainly understandable since contrib way pre-dates 
    extensions, let alone PGXN).
    
    The community has discussions (about once a year) about what should or 
    shouldn't stay in contrib, and a lot of the decision making process ends 
    up driven by #2. If we had another official distribution channel for 
    extensions, we could completely separate #1 and #2: contrib is strictly 
    for official community extensions that are greatly simplified by being 
    in the main repo; all other official extensions live at <insert git URL 
    here> / <list of URLs on PGXN.org>. With some effort (hopefully from 
    newly attracted extension authors), #1 could probable be eliminated as 
    well, to the benefit of other external projects.
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  24. Re: Official adoption of PGXN (was: removing tsearch2)

    Tom Lane <tgl@sss.pgh.pa.us> — 2017-02-14T20:05:55Z

    Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
    > First, just to clarify: my reasons for proposing "core adoption" of PGXN 
    > are not technical in nature.
    
    What do you think "core adoption" means?  Surely not that anything
    associated with PGXN would be in the core distro.
    
    > Right now contrib is serving two completely separate purposes:
    
    > 1) location for code that (for technical reasons) should be tied to 
    > specific PG versions
    > 2) indication of "official endorsement" of a module by the community
    
    This argument ignores what I think is the real technical reason for
    keeping contrib, which is to have a set of close-at-hand test cases
    for extension and hook mechanisms.  Certainly, not every one of the
    existing contrib modules is especially useful for that purpose, but
    quite a few of them are.
    
    			regards, tom lane
    
    
    
  25. Re: Official adoption of PGXN

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-14T20:19:19Z

    On 2/14/17 2:05 PM, Tom Lane wrote:
    > Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
    >> First, just to clarify: my reasons for proposing "core adoption" of PGXN
    >> are not technical in nature.
    >
    > What do you think "core adoption" means?  Surely not that anything
    > associated with PGXN would be in the core distro.
    
    No, certainly not. If anything, PGXN being a first class citizen would 
    allow for potentially removing code from core, since there would then be 
    a first-class way for users to add it.
    
    >> Right now contrib is serving two completely separate purposes:
    >
    >> 1) location for code that (for technical reasons) should be tied to
    >> specific PG versions
    >> 2) indication of "official endorsement" of a module by the community
    >
    > This argument ignores what I think is the real technical reason for
    > keeping contrib, which is to have a set of close-at-hand test cases
    > for extension and hook mechanisms.  Certainly, not every one of the
    > existing contrib modules is especially useful for that purpose, but
    > quite a few of them are.
    
    I was under the impression that a lot of that had moved to test, but 
    yes, that's a consideration. That said, if local caching was added to 
    pgxnclient I don't think it'd require much change to just pull those 
    cases from PGXN instead of the core repo. Alternatively, they could be 
    pulled from a git repo that's houses the source code for the official 
    PGXN modules (or what PGXN calls a distribution).
    
    Those kind of changes would actually help any extension author that 
    wants to depend on another extension (namely, automatically pulling 
    dependent extensions from PGXN). I have make targets that currently 
    accomplish this. They'd be nicer with some additions to both extensions 
    and PGXN, but IMHO they're workable right now.
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  26. Re: Official adoption of PGXN

    Josh Berkus <josh@berkus.org> — 2017-02-14T20:19:56Z

    On 02/14/2017 12:05 PM, Tom Lane wrote:
    > Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
    >> First, just to clarify: my reasons for proposing "core adoption" of PGXN 
    >> are not technical in nature.
    > 
    > What do you think "core adoption" means?  Surely not that anything
    > associated with PGXN would be in the core distro.
    
    One part of this would need to be having a designated committee of the
    Postgres community pick a set of "blessed" extensions for packagers to
    package.  Right now, contrib serves that purpose (badly).  One of the
    reasons we haven't dealt with the extension distribution problem is that
    nobody wanted to take on the issue of picking a list of blessed extensions.
    
    > 
    >> Right now contrib is serving two completely separate purposes:
    > 
    >> 1) location for code that (for technical reasons) should be tied to 
    >> specific PG versions
    >> 2) indication of "official endorsement" of a module by the community
    > 
    > This argument ignores what I think is the real technical reason for
    > keeping contrib, which is to have a set of close-at-hand test cases
    > for extension and hook mechanisms.  Certainly, not every one of the
    > existing contrib modules is especially useful for that purpose, but
    > quite a few of them are.
    
    Yes.  But there's a bunch that aren't, and those are the ones which we
    previously discussed, the ones with indifferent maintenance like ISN and
    Intarray.
    
    You have to admit that it seems really strange in the eyes of a new user
    that ISN is packaged with PostgreSQL, whereas better-written and more
    popular extensions (like plv8, pg_partman or pgq) are not.
    
    
    -- 
    Josh Berkus
    Containers & Databases Oh My!
    
    
    
  27. Re: Official adoption of PGXN

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-14T20:35:03Z

    On 2/14/17 2:19 PM, Josh Berkus wrote:
    > One part of this would need to be having a designated committee of the
    > Postgres community pick a set of "blessed" extensions for packagers to
    > package.  Right now, contrib serves that purpose (badly).  One of the
    > reasons we haven't dealt with the extension distribution problem is that
    > nobody wanted to take on the issue of picking a list of blessed extensions.
    
    That was my idea behind "all other official extensions live at <insert 
    git URL here> / <list of URLs on PGXN.org>".
    
    Adding some kind of reputation system to PGXN would probably be even 
    more useful, but I certainly don't think that's mandatory for having 
    officially blessed "core extensions".
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  28. Re: Official adoption of PGXN

    Andres Freund <andres@anarazel.de> — 2017-02-14T20:39:26Z

    On 2017-02-14 12:19:56 -0800, Josh Berkus wrote:
    > On 02/14/2017 12:05 PM, Tom Lane wrote:
    > > Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
    > >> First, just to clarify: my reasons for proposing "core adoption" of PGXN 
    > >> are not technical in nature.
    > > 
    > > What do you think "core adoption" means?  Surely not that anything
    > > associated with PGXN would be in the core distro.
    > 
    > One part of this would need to be having a designated committee of the
    > Postgres community pick a set of "blessed" extensions for packagers to
    > package.  Right now, contrib serves that purpose (badly).  One of the
    > reasons we haven't dealt with the extension distribution problem is that
    > nobody wanted to take on the issue of picking a list of blessed extensions.
    
    I don't see the trust problem being solved by them being blessed unless
    they're part of the regularly scheduled postgres back-branch
    releases. Which essentially requires them to be in core, or increase the
    release maintenance/management cost further.
    
    We sure could have levels between "random github repo" and "in core
    extension", but I don't see "bless external extensions" supplanting all
    contrib stuff.  There's a few extension in contrib/ where that level
    would make sense, and surely more outside, but I think moving all of
    contrib to something externally managed would be horrible idea.
    
    
    > You have to admit that it seems really strange in the eyes of a new user
    > that ISN is packaged with PostgreSQL, whereas better-written and more
    > popular extensions (like plv8, pg_partman or pgq) are not.
    
    These actually seem like easy cases. plv8 has a massive external
    dependency, pg_partman is a) relatively new, b) there's in-core
    development of extensions, and pgq isn't exactly trivial, partially
    written in python, ...
    
    
    
  29. Re: removing tsearch2

    Magnus Hagander <magnus@hagander.net> — 2017-02-17T08:54:37Z

    On Tuesday, February 14, 2017, David E. Wheeler <david@justatheory.com>
    wrote:
    
    > On Feb 14, 2017, at 9:37 AM, Magnus Hagander <magnus@hagander.net
    > <javascript:;>> wrote:
    >
    > > It's a failing in one of the two at least. It either needs to be easier
    > to build the things on windows, or pgxn would need to learn to do binary
    > distributions.
    >
    > PGXN makes no effort to support installation on any platform at all. Happy
    > to work with anyone who wants to add binary distribution, but supporting
    > multiple platforms might be a PITA. Maybe there’d be a way to integrate
    > with the RPM and .deb and Windows repos (is there something like that for
    > Windows?).
    >
    
    Yeah, I think the core of the problem that nobody does that for platforms
    ohter than RPM and DEB today (more or less). And the effort for those isn't
    coordinated at that level, only for the main packages.
    
    It may not be that PGXN is the entity that should be doing it, but if we
    want to solve the problem than *someone* does. And until someone does, we
    can't say "hey we have pgxn so extensions outside core are just as easy to
    use as the ones in core".
    
    WIndows does not have something quite to the level of DEB or RPM, but
    there's definitely been some increase in the use of package managers
    recently. I don't use or admin Windows anymore myself, but I've heard good
    things about chocolatry for example. It might be worth investigating, if
    somebody has the resources.
    
    If we could somehow integrate PGXN with both the RPM build process, the DEB
    build process and a Windows build process (whether driven by PGXN or just
    "fed enough data" by PGXN is a different question), I think that would go a
    long way towards the goal. Also being able to use this somehow to drive
    continuous builds and tests (kind of like a buildfarm-lite for a subset of
    platforms) would be useful for reaching a point where extensions outside of
    core can come at least close to what we deliver in core.
    
    //Magnus
    
    
    
    -- 
     Magnus Hagander
     Me: http://www.hagander.net/
     Work: http://www.redpill-linpro.com/
    
  30. Re: removing tsearch2

    David E. Wheeler <david@justatheory.com> — 2017-02-17T17:45:00Z

    On Feb 17, 2017, at 12:54 AM, Magnus Hagander <magnus@hagander.net> wrote:
    
    > If we could somehow integrate PGXN with both the RPM build process, the DEB build process and a Windows build process (whether driven by PGXN or just "fed enough data" by PGXN is a different question), I think that would go a long way towards the goal.
    
    My thought was that someone could rsync the PGXN repo every hour or something and build any new modules there. That’s how the search site is built: Every five minutes, it rsyncs rsync://master.pgxn.org/pgxn, parses the output to see new releases, and updates the index.
    
    > Also being able to use this somehow to drive continuous builds and tests (kind of like a buildfarm-lite for a subset of platforms) would be useful for reaching a point where extensions outside of core can come at least close to what we deliver in core.
    
    Personally I just use Travis and Coveralls on GitHub for that sort of thing.
    
    Best,
    
    David
    
    
  31. Re: Official adoption of PGXN

    Peter Eisentraut <peter.eisentraut@2ndquadrant.com> — 2017-02-18T00:38:13Z

    On 2/14/17 15:19, Josh Berkus wrote:
    > You have to admit that it seems really strange in the eyes of a new user
    > that ISN is packaged with PostgreSQL, whereas better-written and more
    > popular extensions (like plv8, pg_partman or pgq) are not.
    
    I don't know.  Seems pretty standard coming from a Python or Ruby
    ecosystem, say.  ;-)
    
    -- 
    Peter Eisentraut              http://www.2ndQuadrant.com/
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
    
    
    
  32. Re: Official adoption of PGXN

    Jim Nasby <jim.nasby@bluetreble.com> — 2017-02-18T04:14:02Z

    On 2/14/17 2:39 PM, Andres Freund wrote:
    >> One part of this would need to be having a designated committee of the
    >> Postgres community pick a set of "blessed" extensions for packagers to
    >> package.  Right now, contrib serves that purpose (badly).  One of the
    >> reasons we haven't dealt with the extension distribution problem is that
    >> nobody wanted to take on the issue of picking a list of blessed extensions.
     >
    > I don't see the trust problem being solved by them being blessed unless
    > they're part of the regularly scheduled postgres back-branch
    > releases. Which essentially requires them to be in core, or increase the
    > release maintenance/management cost further.
    
    I don't see why we'd have to touch blessed PGXN extensions any time 
    there's a back-branch release. We don't do that with what's in core 
    today. If we did want to do that (say, so that the extension version 
    always matched the PG version), it wouldn't be hard to automate.
    
    Obviously if there's a bug in an extension we'd want to do something, 
    but tying that to the release would be completely optional.
    -- 
    Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
    Experts in Analytics, Data Architecture and PostgreSQL
    Data in Trouble? Get it in Treble! http://BlueTreble.com
    855-TREBLE2 (855-873-2532)
    
    
    
  33. Re: removing tsearch2

    Bruce Momjian <bruce@momjian.us> — 2017-02-27T20:04:28Z

    On Fri, Feb 17, 2017 at 09:54:37AM +0100, Magnus Hagander wrote:
    > If we could somehow integrate PGXN with both the RPM build process, the DEB
    > build process and a Windows build process (whether driven by PGXN or just "fed
    > enough data" by PGXN is a different question), I think that would go a long way
    > towards the goal. Also being able to use this somehow to drive continuous
    > builds and tests (kind of like a buildfarm-lite for a subset of platforms)
    > would be useful for reaching a point where extensions outside of core can come
    > at least close to what we deliver in core.
    
    Just stating the obvious, but one of the reasons CPAN works so well is
    that most of the modules are written in Perl and hence don't need
    per-platform compilation.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +
    
    
    
  34. Re: removing tsearch2

    David E. Wheeler <david@justatheory.com> — 2017-02-27T21:00:20Z

    On Feb 27, 2017, at 12:04 PM, Bruce Momjian <bruce@momjian.us> wrote:
    
    > Just stating the obvious, but one of the reasons CPAN works so well is
    > that most of the modules are written in Perl and hence don't need
    > per-platform compilation.
    
    There are a *lot* of C-baded modules on CPAN; and my guess is that, more often than not, Perl modules depend on other C-based modules.
    
    I daresay a lot of PostgreSQL extensions can be written in pure SQL or PL/pgSQL.
    
    Best,
    
    David
    
    
  35. Re: removing tsearch2

    Bruce Momjian <bruce@momjian.us> — 2017-02-27T21:53:18Z

    On Mon, Feb 27, 2017 at 01:00:20PM -0800, David E. Wheeler wrote:
    > On Feb 27, 2017, at 12:04 PM, Bruce Momjian <bruce@momjian.us> wrote:
    > 
    > > Just stating the obvious, but one of the reasons CPAN works so well is
    > > that most of the modules are written in Perl and hence don't need
    > > per-platform compilation.
    > 
    > There are a *lot* of C-baded modules on CPAN; and my guess is that, more often than not, Perl modules depend on other C-based modules.
    > 
    > I daresay a lot of PostgreSQL extensions can be written in pure SQL or PL/pgSQL.
    
    Oh, does CPAN distribute compiled modules or requires users to compile
    them.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +
    
    
    
  36. Re: removing tsearch2

    David E. Wheeler <david@justatheory.com> — 2017-02-27T22:02:27Z

    On Feb 27, 2017, at 1:53 PM, Bruce Momjian <bruce@momjian.us> wrote:
    
    > Oh, does CPAN distribute compiled modules or requires users to compile
    > them.
    
    Like PGXN, it formally does not care, but its implementation expects source code distributions what will be built and installed by users. Note that the vast majority of those modules, -- even pure Perl modules -- are built with make.
    
    So users typically get their Perl modules in one of these ways:
    
    1. As binaries from their distribution’s package manager. These tend to be updated manually by volunteers and not integrated into CPAN, though there are solutions such as [rpmcpan](https://github.com/iovation/rpmcpan) and [PPM](http://www.activestate.com/activeperl/ppm-perl-modules) which do regular distro package builds.
    
    2. As source code from CPAN, from which they are compiled (when necessary), built, and installed by the user or a build system such as [Homebrew](https://brew.sh).
    
    Best,
    
    David
    
    
  37. Re: removing tsearch2

    Mike Blackwell <mike.blackwell@rrd.com> — 2017-02-27T22:11:59Z

    ​There is also a mechanism for the results of the Perl module's "make test"
    to be reported to a site which aggregates and reports them by Perl version
    and OS - a sort of distributed build farm.  See for example
    http://matrix.cpantesters.org/?dist=DBD-Pg+3.5.3
    
    __________________________________________________________________________________
    *Mike Blackwell | Technical Analyst, Distribution Services/Rollout
    Management | RR Donnelley*
    1750 Wallace Ave | St Charles, IL 60174-3401
    Office: 630.313.7818
    Mike.Blackwell@rrd.com
    http://www.rrdonnelley.com
    
    
    <http://www.rrdonnelley.com/>
    * <Mike.Blackwell@rrd.com>*
    
    On Mon, Feb 27, 2017 at 4:02 PM, David E. Wheeler <david@justatheory.com>
    wrote:
    
    > On Feb 27, 2017, at 1:53 PM, Bruce Momjian <bruce@momjian.us> wrote:
    >
    > > Oh, does CPAN distribute compiled modules or requires users to compile
    > > them.
    >
    > Like PGXN, it formally does not care, but its implementation expects
    > source code distributions what will be built and installed by users. Note
    > that the vast majority of those modules, -- even pure Perl modules -- are
    > built with make.
    >
    > So users typically get their Perl modules in one of these ways:
    >
    > 1. As binaries from their distribution’s package manager. These tend to be
    > updated manually by volunteers and not integrated into CPAN, though there
    > are solutions such as [rpmcpan](https://github.com/iovation/rpmcpan) and
    > [PPM](http://www.activestate.com/activeperl/ppm-perl-modules) which do
    > regular distro package builds.
    >
    > 2. As source code from CPAN, from which they are compiled (when
    > necessary), built, and installed by the user or a build system such as
    > [Homebrew](https://brew.sh).
    >
    > Best,
    >
    > David
    >
    >