Обсуждение: C API - Authentication Question

Поиск
Список
Период
Сортировка

C API - Authentication Question

От
secret
Дата:
    I'm very impressed so far with what I've seen of PostgreSQL,
however I have a nagging question which is absolutely vital for the
project I have in mind... How do I tell PostgreSQL what
username:password to use to authenticate myself to the database?

    I'm going to have clients(Linux) on changing IPs that must be
authenicated with user:pw, not simply by host, I understand how to
change the config file to allow connections but I can't find sufficient
documentation to tell me how to give a username:pw pair...

    Thank you in advance...

--David



Re: [INTERFACES] C API - Authentication Question

От
Tom Lane
Дата:
secret <secret@kearneydev.com> writes:
> ... How do I tell PostgreSQL what
> username:password to use to authenticate myself to the database?

PQsetdbLogin() or PQconnectdb().  Alternatively you can pass them in
as values of environment variables PGUSER and PGPASSWORD.  I don't
much like keeping a password in an environment variable on security
grounds, but this would work if you want to use some client program
that offers no convenient way to enter id/password.

It looks like the documentation is seriously lacking in this area:
the current libpq man page doesn't describe PQconnectdb() at all,
and the possibility to pass in a password via PGPASSWORD isn't mentioned
there either.  You'll get along with PostgreSQL a lot better if you
don't mind looking at code when you can't find something in the docs :-(

BTW you should also consider Kerberos authentication --- much more
secure than passing cleartext or trivially-encrypted passwords around
the net.

            regards, tom lane

Re: [INTERFACES] C API - Authentication Question

От
"Thomas G. Lockhart"
Дата:
> You'll get along with PostgreSQL a lot better if you
> don't mind looking at code when you can't find something in the docs
> :-(

Or, even better, by updating the docs when you discover something is
missing! That'll help the next person... (hint, hint *grin*)

                      - Tom