Thread: Users in pg_shadow

Users in pg_shadow

From
Scott Holmes
Date:
I have a cron script set up to run VACUUM ANALYZE on two databases that appear
to work fine except for a couple of messages that show up in the log:

FATAL 1:  SetUserId: user 'newsltr' is not in 'pg_shadow'
FATAL 1:  SetUserId: user 'wcgc_pg' is not in 'pg_shadow'

newsltr and wcgc_pg are the respective names of the databases, there are no
users with these names.  This is on a postgresql-7.0.2 running on a Red Hat 6.2

I've seen no problems resulting from this but I would like to understand why.

--
---------------------------------------------------------------------
Scott Holmes                       http://www.pacificnet.net/~sholmes
                                   sholmes@pacificnet.net

  Independent Programmer/Analyst                  Passport 4GL
  PHP HTML Composer                PostgreSQL     Informix 4GL, SQL
---------------------------------------------------------------------
      There are more things in heaven and earth, Horatio,
             than are dreamt of in your philosophy
---------------------------------------------------------------------




Re: Users in pg_shadow

From
Peter Eisentraut
Date:
Scott Holmes writes:

> I have a cron script set up to run VACUUM ANALYZE on two databases that appear
> to work fine except for a couple of messages that show up in the log:
>
> FATAL 1:  SetUserId: user 'newsltr' is not in 'pg_shadow'
> FATAL 1:  SetUserId: user 'wcgc_pg' is not in 'pg_shadow'
>
> newsltr and wcgc_pg are the respective names of the databases, there are no
> users with these names.  This is on a postgresql-7.0.2 running on a Red Hat 6.2

You should make your cron script to connect as the proper user, probably
using the -U option of psql or vacuumdb.  Otherwise the user name defaults
to one of various things, which is probably not desired here.

> I've seen no problems resulting from this but I would like to understand why.

Only if the fact that the VACUUM ANALYZE probably didn't actually execute
is not a problem... ;-)

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/


Re: Users in pg_shadow

From
Scott Holmes
Date:
Well, I did have the -U argument using $PGUSER.  However, I made the all too
common mistake of forgetting that cron may or maynot have particular
environmental variables set.

Thanks...

>
> You should make your cron script to connect as the proper user, probably
> using the -U option of psql or vacuumdb.  Otherwise the user name defaults
> to one of various things, which is probably not desired here.
>
> --
> Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



Re: Users in pg_shadow

From
Frank Miles
Date:
One possible part of a cron script:

su --command="psql -d $PGUSER -c 'vacuum analyze;' > /dev/null" $PGUSER

where 'PGUSER' has been defined as the appropriate user name.  Of course,
you'll need a bit more if your database has a different name.

HTH...

    -frank