sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan logger jeg på og godkender til Postgresql efter en ny installation?

Der er to metoder, du kan bruge. Begge kræver oprettelse af en bruger og en database.

Som standard forbinder psql til databasen med samme navn som brugeren. Så der er en konvention om at gøre det til "brugerens database" . Og der er ingen grund til at bryde den konvention, hvis din bruger kun har brug for én database. Vi bruger mydatabase som eksempeldatabasenavnet.

  1. Brug af createuser og createdb , kan vi være eksplicitte om databasenavnet,

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

    Du burde nok helt udelade det og lade alle kommandoerne som standard bruge brugerens navn i stedet for.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Brug af SQL-administrationskommandoer og tilslutning med en adgangskode over TCP

    $ sudo -u postgres psql postgres
    

    Og så i psql-skallen

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

    Så kan du logge ind,

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

    Hvis du ikke kender porten, kan du altid få den ved at køre følgende som postgres bruger,

    SHOW port;
    

    Eller,

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

Sidenote:postgres bruger

Jeg foreslår IKKE ændring af postgres bruger.

  1. Det er normalt låst fra OS. Ingen skal "logge ind" på operativsystemet som postgres . Du formodes at have root for at komme til at godkende som postgres .
  2. Det er normalt ikke beskyttet med adgangskode og delegeres til værtsoperativsystemet. Dette er en god ting . Dette betyder normalt for at logge ind som postgres som er PostgreSQL-ækvivalenten til SQL Servers SA , skal du have skriveadgang til de underliggende datafiler. Og det betyder, at du normalt kan ødelægge kaos alligevel.
  3. Ved at holde dette deaktiveret fjerner du risikoen for et brute force-angreb gennem en navngiven superbruger. Det har fordele at skjule og skjule navnet på superbrugeren.


  1. Få liste over tabeller med eller uden primær nøglebegrænsning i alle databaser fra SQL Server Instance - SQL Server / TSQL Tutorial Del 61

  2. Kommandoer ude af synkronisering; du kan ikke køre denne kommando nu

  3. RoR:Kan ikke ændre_kolonne i postgres, fint i MySQL (MySQL til udvikling, Postgres på Heroku)

  4. SQL Server-databaser CPU-brugsstatistik