Re: Simple commands don't work - Mailing list pgsql-novice

From Kevin Grittner
Subject Re: Simple commands don't work
Date
Msg-id 1402944144.56262.YahooMailNeo@web122306.mail.ne1.yahoo.com
Whole thread Raw
In response to Simple commands don't work  (Larry Martell <larry.martell@gmail.com>)
Responses Re: Simple commands don't work  (Larry Martell <larry.martell@gmail.com>)
List pgsql-novice
Larry Martell <larry.martell@gmail.com> wrote:

> First I wanted to give myself a password. I read in the online
> docs the command was this:
>
> phis=> alter user larry set password = 'XXXX';

That is a mis-reading of the documentation.  There are various user
options or attributes which can be configured, which includes the
password.  There are also various configuration parameters for
which the default value (normally taken from the postgresql.conf
configuration file) can be overridden for particular users.  An
example of this would be to set work_mem higher for a reporting
user.  Above you are trying to use the syntax for setting a
configuration parameter for the password, which is a user
attribute.

> ERROR:  unrecognized configuration parameter "password"

And this is the result of using the wrong syntax.  Was there
anything in the documentation which you found confusing or
misleading?

http://www.postgresql.org/docs/current/interactive/sql-alteruser.html
http://www.postgresql.org/docs/current/interactive/sql-alterrole.html

> Then I read somewhere else it is:
>
> phis=> ALTER USER larry WITH PASSWORD 'XXXX';
> ALTER ROLE

There you go.

> But then it still let me log in without one.

You might want to look at the documentation for the host based
authentication configuration and the pgpass configuration.

http://www.postgresql.org/docs/current/interactive/auth-pg-hba-conf.html
http://www.postgresql.org/docs/current/interactive/libpq-pgpass.html

In pg_hba.conf you may have "trust" configured for local
connections and/or connections through localhost.

> Then I checked with pgAdmin and it showed I did not have any
> password.  I set one there, but it still lets me login without
> one.

pgAdmin, based on how you have *that* configured, may write
passwords to the pgpass file.  I never use pgAdmin, so I'm not sure
what it was showing you; I wonder whether it might have been
showing you what user IDs you had passwords for in the pgpass file,
rather than what logins had passwords within the database.

> Then I went to do a select from a table, and I got permission
> denied.  But the table is in a schema (the name is "public") that
> is set for "GRANT ALL TO ALL"

That grants two permissions for that user in the schema: the right
to use the schema at all and the right to create objects within
that schema.  Those are all of the permissions which exist at the
schema level.

> According to the docs this would be the command to grant access
> to all tables:
>
> phis=> grant select on all tables in public to larry;
> ERROR:  syntax error at or near "public"
>
> But it doesn't like that.

You forgot the word SCHEMA before public.

> The I found this:
>
> phis=> grant ALL PRIVILEGES ON DATABASE phis to larry;
> WARNING:  no privileges were granted for "phis"

You were connected as a user which didn't have rights to grant
database privileges.  You need to be connected the database owner
or as a database superuser.  Also, be aware that this only grants
database-level permissions: the ability to connect to the database,
the ability to create schemas in the database, and the ability to
create temporary tables in the database.  That command would not
grant you any permissions (such as SELECT) on any objects within
the database (like a table).

> From pgAdmin I was able to grant myself select access, but why
> don't the command line commands work?

They do, but it appears you are not using the options which would
provide the behavior you want.

Once you have mastered the commands, perhaps you could suggest what
could be improved in the documentation to help others get to that
point.  Suggestions are welcome.

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-novice by date:

Previous
From: Larry Martell
Date:
Subject: Re: Simple commands don't work
Next
From: Larry Martell
Date:
Subject: Re: Simple commands don't work