sql >> Database >  >> RDS >> PostgreSQL

Authenticeer PostgreSQL-gebruiker en wachtwoord zonder database

Gebruik de systeemtabel pg_roles

Postgres installeert altijd een database genaamd "postgres". postgres is de database waarmee u verbinding maakt wanneer u geen verbinding maakt met een database. Daarin is een tabel genaamd pg_roles .

Gebruik dit commando:

psql -U pgadmin -d postgres -c 'select * from pg_roles'

Wat dit oplevert:

 rolname  | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig |  oid
----------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+-------
 postgres | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           |    10
 pgadmin  | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           | 16384

(2 rijen)

Zie dit antwoord:Hoe te controleren of een bestaat er een postgres-gebruiker?

Test het door in te loggen

Probeer gewoon in te loggen met de opgegeven gebruikersnaam/wachtwoord en omring het met een try/catch, en als je kunt inloggen, dan is het geldig, anders is het niet geldig.

De gebruiker wijzigen

U kunt mogelijk een foutmelding krijgen als u een gebruiker wijzigt die niet bestaat:http://www.postgresql.org/docs/8.0/static/sql-alteruser.html

ALTER USER postgres WITH PASSWORD 'tmppassword';

Gebruiker verwijderen en opnieuw toevoegen

U kunt mogelijk een foutmelding krijgen als u een gebruiker probeert te verwijderen en opnieuw toe te voegen. Dus als het ongeldig was, zou het een fout hebben gegenereerd wanneer u een niet-gebruiker probeert te verwijderen. http://www.postgresql.org/docs/8.0/static /sql-createuser.html



  1. Meerdere rijen in een tabel invoegen met PHP

  2. Is het mogelijk om een ​​database in het RAM te laden?

  3. Hoe doe je een tweede PDO mysql-query in een while-lus van een andere query?

  4. Hoe decimale waarden op te slaan in SQL Server?