sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur loggar jag in och autentiserar till Postgresql efter en nyinstallation?

Det finns två metoder du kan använda. Båda kräver att du skapar en användare och en databas.

Som standard ansluter psql till databasen med samma namn som användaren. Så det finns en konvention som gör det till "användarens databas" . Och det finns ingen anledning att bryta den konventionen om din användare bara behöver en databas. Vi kommer att använda mydatabase som exempeldatabasnamnet.

  1. Använder createuser och createdb , vi kan vara tydliga om databasnamnet,

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

    Du borde förmodligen utelämna det helt och låta alla kommandon användas som standard till användarens namn istället.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Använda SQL-administrationskommandon och ansluta med ett lösenord över TCP

    $ sudo -u postgres psql postgres
    

    Och sedan i psql-skalet

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

    Sedan kan du logga in,

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

    Om du inte känner till porten kan du alltid få den genom att köra följande, som postgres användare,

    SHOW port;
    

    Eller,

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

Sidenot:postgres användare

Jag föreslår INTE ändra postgres användare.

  1. Det är normalt låst från operativsystemet. Ingen ska "logga in" på operativsystemet som postgres . Du ska ha root för att kunna autentisera som postgres .
  2. Det är normalt inte lösenordsskyddat och delegeras till värdoperativsystemet. Det här är en bra sak . Detta innebär normalt att logga in som postgres vilket är PostgreSQL-motsvarigheten till SQL Servers SA , måste du ha skrivåtkomst till de underliggande datafilerna. Och det betyder att du normalt sett kan förstöra förödelse ändå.
  3. Genom att hålla detta inaktiverat tar du bort risken för en brute force attack genom en namngiven superanvändare. Att dölja och dölja namnet på superanvändaren har fördelar.


  1. Hur SECOND() fungerar i MariaDB

  2. Returnera den första måndagen i varje månad i SQLite

  3. Introduktion till PL/SQL-paket i Oracle Database

  4. Infoga DML med bindningsvariabel:ANVÄNDER Klausul för exekvera omedelbart uttalande