Whoa that's perfect!  Thank you so much.

On Thu, Dec 24, 2020 at 4:59 PM Ian Lawrence Barwick <barw...@gmail.com>
wrote:

> 2020年12月23日(水) 22:05 Eric Hanson <e...@aquameta.com>:
> >
> > I'm trying to store connection to postgres_fdw in the database  I want
> to be able to store the full breadth of connection styles and all the
> different types of connections that libpq supports.  But having some
> troubles.
> >
> > Postgres_fdw wants options passed into CREATE SERVER, all broken out
> into separate variables, but this format is neither a connection URI, nor a
> keyword/value string.  One could imagine writing some parser that extracts
> all the variables and honors collisions in the same way libpq does (like
> when both the path and the query string specify a port), but I really don't
> want to recreate that.
> >
> > It would be really nice if I could tap into libpq's connection string
> parser from SQL and use it to extract all the variables in a given
> connection string, so that I can then pipe those into CREATE SERVER
> options.  Either that, or teach postgres_fdw how to consume standard
> connection strings.
>
> Does something like this do what you're looking for?
>
>     postgres=# SELECT * FROM conninfo_parse('host=node1 user=foo');
>      keyword | value
>     ---------+-------
>      user    | foo
>      host    | node1
>     (2 rows)
>
>     postgres=# SELECT * FROM conninfo_parse('postgresql://localhost:5433');
>      keyword |   value
>     ---------+-----------
>      host    | localhost
>      port    | 5433
>     (2 rows)
>
> Basically a wrapper around PQconninfoParse(), I've had the code knocking
> around
> for a while now and finally got round to packaging it into an
> extension [1]. It's
> on my todo list to submit a patch based on this to core, as it seems
> Generally
> Useful To Have.
>
> [1] https://github.com/ibarwick/conninfo
>
> Regards
>
> Ian Barwick
> --
> EnterpriseDB: https://www.enterprisedb.com
>

Reply via email to