Re: Fwd: dblink_connect fails

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: Fwd: dblink_connect fails
Дата
Msg-id 567226AD.4060002@joeconway.com
обсуждение исходный текст
Ответ на Fwd: dblink_connect fails  (James Sewell <james.sewell@lisasoft.com>)
Список pgsql-general
On 12/16/2015 06:10 PM, James Sewell wrote:
> Oops left off the list.

Me too -- response repeated below...

> ---------- Forwarded message ----------
> From: *James Sewell* <james.sewell@lisasoft.com
> <mailto:james.sewell@lisasoft.com>>
> Date: Thursday, 17 December 2015
> Subject: dblink_connect fails
> To: Joe Conway <mail@joeconway.com <mailto:mail@joeconway.com>>
>
>
> On Thu, Dec 17, 2015 at 12:11 PM, Joe Conway <mail@joeconway.com
> <javascript:_e(%7B%7D,'cvml','mail@joeconway.com');>> wrote:
>
>     On 12/16/2015 04:53 PM, James Sewell wrote:
>     > No it is not.
>     >
>     > Just in case I tried setting it to 'postgres', logged in without -U
>     > (doesn't work without PGUSER set) and tried the operation again.
>
>     >     >     DETAIL:  FATAL:  role "PRDSWIDEGRID01$" does not exist

> This is a new database with some tables and dblink loaded.
>
> The  PRDSWIDEGRID01 is actually the hostname - but I just can't see how
> it's getting injected.
>
> My understanding was that psql -U should override? And also that any
> user variable just sets the user PostgreSQL variable - which is postgres.

Hmmm, well the way you start up psql should be irrelevant here.

What goes on with dblink_connect() is more-or-less completely controlled
by libpq's PQconnectdb(). When you do not provide a user explicitly in
your libpq connect string it defaults to the user that the current
process is running under unless the PGUSER environment variable has been
defined. See:

http://www.postgresql.org/docs/9.4/interactive/libpq-envars.html

    "The following environment variables can be used to select default
     connection parameter values, which will be used by PQconnectdb,
     PQsetdbLogin and PQsetdb if no value is directly specified by the
     calling code.

     PGUSER behaves the same as the user connection parameter."

-and-

http://www.postgresql.org/docs/9.4/interactive/libpq-connect.html#LIBPQ-PARAMKEYWORDS

    "user

        PostgreSQL user name to connect as. Defaults to be the same as
        the operating system name of the user running the application."

So in your case, does your postgres server run as an OS user called
PRDSWIDEGRID01$ for some reason?

Joe



--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Karl Czajkowski
Дата:
Сообщение: Re: Check old and new tuple in row-level policy?
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: Check old and new tuple in row-level policy?