GNU/Linux >> Znalost Linux >  >> Linux

Vytvářejte a rušte role v PostgreSQL

Chcete-li otestovat produkční databázový server, měli byste vytvořit další role, protože pravidelně pracujete ve svých databázích jako výchozí role superuživatele je riskantní.

Tento článek ukazuje, jak vytvořit další role s PostgreSQL® pomocí psql klientské příkazy nebo příkazy shellu. Musíte použít uživatele Linux®, postgres ®, s oběma metodami.

Přihlaste se ke své instanci pomocí svých přihlašovacích údajů pro Linux a spusťte následující příkaz pro přepnutí uživatelů na postgres uživatel:

# sudo su - postgres

Použití příkazů psql

Pomocí následujících kroků vytvoříte nebo zrušíte uživatele pomocí psql klient.

Připojit se k psql

Připojte se k databázovému serveru pomocí thepsqlclient s postgres role:

postgres@demo:~$ psql -U postgres
...
Welcome to psql 8.3.6, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=#

Vytvořte roli

Po připojení pomocí psql klient, spusťte následující příkaz k vytvoření role, která má LOGIN atribut a neprázdné heslo zašifrované MD5:

postgres=#CREATE ROLE demorole1 WITH LOGIN ENCRYPTED PASSWORD 'password1';

Poznámka :Je vyžadován koncový středník (; ) na konci příkazu SQL. Jednoduché uvozovky ( ' ' ) nejsou součástí hesla, ale musí je uzavřít.

Pomocí následujícího příkazu ověřte, že jste roli úspěšně vytvořili:

postgres=# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 demorole1 | no        | no          | no        | no limit    | {}
 postgres  | yes       | yes         | yes       | no limit    | {}
(2 rows)

Uvolnění role

Když již roli nepotřebujete, můžete ji zrušit (smazat nebo odebrat) pomocí následujícího příkazu:

postgres=# DROP ROLE demorole1;

Pokud to potom zkontrolujete pomocí \du můžete vidět, že demorole1 již není uveden.

Vytvořit superuživatele

Občas může být potřeba vytvořit další role superuživatele, například když máte databázového programátora, kterému důvěřujete, že bude spravovat postgresserver.

Chcete-li vytvořit superuživatele, spusťte následující příkaz:

postgres=#CREATE ROLE mysuperuser2 WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'mysuperpass2';

Příkaz nastaví LOGIN atribut a určuje neprázdné heslo. Tyto faktory jsou důležité, pokud zamýšlíte tuto roli superuživatele pro místní a vzdálená připojení k databázi.

Ukončit psql

Chcete-li ukončit psql , spusťte následující příkaz:

postgres=# \q
...
postgres@demo:~$

Používejte příkazy shellu

Databázové role můžete vytvořit a zrušit pomocí příkazůcreateuseanddropusershell, což jsou obaly pro příkazy CREATE a DROPSQL. Standardní instalace Postgres obsahuje tyto příkazy.

createuser

Spuštěním následujícího příkazu vytvořte roli bez superuživatele, která má LOGIN atribut:

postgres@demo:~$ createuser -PE demorole2

Enter password for new role:
Enter it again:
...
postgres@demo:~$

-P příznak vás vyzve k nastavení hesla pro novou roli a -E flag označuje uložení hesla jako řetězec zašifrovaný MD5.

Chcete-li ověřit vytvoření role, připojte se k psql a spusťte následující příkaz:

postgres=# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 demorole2 | no        | no          | no        | no limit    | {}
 postgres  | yes       | yes         | yes       | no limit    | {}
(2 rows)

dropuser

Chcete-li zrušit roli, spusťte následující příkaz:

postgres@demo:~$ dropuser -i demorole2
...
Role "demorole2" will be permanently removed.
Are you sure? (y/n) y
...
postgres@demo:~$

-i flag poskytuje potvrzovací výzvu, což je dobré bezpečnostní opatření při spuštění potenciálně destruktivního příkazu.

Vytvořit superuživatele

Občas může být potřeba vytvořit další role superuživatele, například když máte databázového programátora, kterému důvěřujete, že bude spravovat postgresserver.

Chcete-li vytvořit superuživatele, spusťte následující příkaz:

postgres@demo:~$ createuser -sPE mysuperuser

Linux
  1. Instalace PostgreSQL a phpPgAdmin v CentOS

  2. Jak vytvořit roli IAM v AWS pomocí Terraform

  3. Jak zálohovat a obnovovat databázi v PostgreSQL

  1. RHCE Ansible Series #9:Ansible Role

  2. Vytvářejte a rušte role v PostgreSQL

  3. Vytvářejte a řiďte spouštěcí skripty v BusyBoxu

  1. PostgreSQL Drop databáze s příklady

  2. Jak vytvářet, přetahovat, měnit a zkracovat tabulky v Cassandře

  3. Jak vytvořit databázi v PostgreSQL