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 mydatabaseDu 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 postgresOg 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
postgresbruger,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
postgressom 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.