Můžete použít dvě metody. Oba vyžadují vytvoření uživatele a databáze.
Ve výchozím nastavení se psql připojuje k databázi se stejným jménem jako uživatel. Existuje tedy konvence, jak vytvořit "databázi uživatelů" . A není důvod tuto konvenci porušovat, pokud váš uživatel potřebuje pouze jednu databázi. Budeme používat mydatabase jako název příkladu databáze.
-
Pomocí createuser a createdb , můžeme být explicitní ohledně názvu databáze,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabasePravděpodobně byste to měli úplně vynechat a místo toho nechat všechny příkazy jako výchozí na jméno uživatele.
$ sudo -u postgres createuser -s $USER $ createdb $ psql -
Použití administračních příkazů SQL a připojení pomocí hesla přes TCP
$ sudo -u postgres psql postgresA pak v prostředí psql
CREATE ROLE myuser LOGIN PASSWORD 'mypass'; CREATE DATABASE mydatabase WITH OWNER = myuser;Poté se můžete přihlásit,
$ psql -h localhost -d mydatabase -U myuser -p <port>Pokud port neznáte, můžete jej vždy získat spuštěním následujícího příkazu jako
postgresuživatel,SHOW port;Nebo,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
Sidenote:postgres uživatel
Doporučuji NE úpravou postgres uživatel.
- Obvykle je uzamčen z operačního systému. Nikdo se nemá "přihlašovat" do operačního systému jako
postgres. Abyste se mohli ověřit jakopostgres, musíte mít root . - Obvykle není chráněn heslem a deleguje hostitelský operační systém. To je dobrá věc . To obvykle znamená, že se chcete přihlásit jako
postgrescož je PostgreSQL ekvivalentSASQL Serveru , musíte mít přístup pro zápis k základním datovým souborům. A to znamená, že za normálních okolností byste stejně mohli způsobit spoušť. - Pokud toto ponecháte deaktivované, odstraníte riziko útoku hrubou silou prostřednictvím jmenovaného superuživatele. Skrytí a zakrytí jména superuživatele má výhody.