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 mydatabase
Pravdě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 postgres
A 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
postgres
už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
postgres
což je PostgreSQL ekvivalentSA
SQL 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.