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.
-
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
-
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.
- 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 sompostgres
. - 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 ServersSA
, skal du have skriveadgang til de underliggende datafiler. Og det betyder, at du normalt kan ødelægge kaos alligevel. - 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.