PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mogę się zalogować i uwierzytelnić w Postgresql po nowej instalacji?

Istnieją dwie metody, z których możesz skorzystać. Oba wymagają utworzenia użytkownika i bazę danych.

Domyślnie psql łączy się z bazą danych o tej samej nazwie co użytkownik. Tak więc istnieje konwencja, zgodnie z którą „baza danych użytkownika” . I nie ma powodu, aby łamać tę konwencję, jeśli użytkownik potrzebuje tylko jednej bazy danych. Będziemy używać mydatabase jako przykładową nazwę bazy danych.

  1. Korzystanie z createuser i createdb , możemy jednoznacznie określić nazwę bazy danych,

    $ sudo -u postgres createuser -s $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    

    Powinieneś prawdopodobnie całkowicie to pominąć i pozwolić wszystkim poleceniom domyślnie używać nazwy użytkownika.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Korzystanie z poleceń administracyjnych SQL i łączenie się z hasłem przez TCP

    $ sudo -u postgres psql postgres
    

    A potem w powłoce psql

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    Następnie możesz się zalogować,

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    Jeśli nie znasz portu, zawsze możesz go uzyskać, uruchamiając następujące polecenie, jako postgres użytkownik,

    SHOW port;
    

    Lub

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

Uwaga:postgres użytkownik

Proponuję NIE modyfikowanie postgres użytkownika.

  1. Zwykle jest zablokowany w systemie operacyjnym. Nikt nie powinien "logować się" do systemu operacyjnego jako postgres . Powinieneś mieć roota, aby uzyskać uwierzytelnienie jako postgres .
  2. Zwykle nie jest chroniony hasłem i jest delegowany do systemu operacyjnego hosta. To dobra rzecz . Zwykle oznacza to, aby zalogować się jako postgres który jest odpowiednikiem PostgreSQL SA serwera SQL Server , musisz mieć dostęp do zapisu do bazowych plików danych. A to oznacza, że ​​i tak normalnie mógłbyś siać spustoszenie.
  3. Wyłączając to ustawienie, eliminujesz ryzyko ataku brute force przez nazwanego superużytkownika. Ukrywanie i ukrywanie imienia superużytkownika ma swoje zalety.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje coś takiego jak funkcja zip() w PostgreSQL, która łączy dwie tablice?

  2. Spłaszczyć zagregowane pary klucz/wartość z pola JSONB?

  3. Funkcja SUM() w PostgreSQL

  4. Rails:FATAL - Uwierzytelnienie peera nie powiodło się dla użytkownika (PG::Error)

  5. Hibernacja i wielodostępna baza danych przy użyciu schematów w PostgreSQL