Има два метода, които можете да използвате. И двете изискват създаване на потребители база данни.
По подразбиране psql се свързва към базата данни със същото име като потребителя. Така че има конвенция да се направи това "потребителска база данни" . И няма причина да нарушавате тази конвенция, ако потребителят ви се нуждае само от една база данни. Ще използваме mydatabase като примерно име на база данни.
-
Използване на createuser и createdb , можем да бъдем изрични за името на базата данни,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabaseВероятно трябва да пропуснете това изцяло и вместо това да оставите всички команди по подразбиране на името на потребителя.
$ sudo -u postgres createuser -s $USER $ createdb $ psql -
Използване на командите за администриране на SQL и свързване с парола през TCP
$ sudo -u postgres psql postgresИ след това в psql обвивката
CREATE ROLE myuser LOGIN PASSWORD 'mypass'; CREATE DATABASE mydatabase WITH OWNER = myuser;След това можете да влезете,
$ psql -h localhost -d mydatabase -U myuser -p <port>Ако не знаете порта, винаги можете да го получите, като изпълните следното, като
postgresпотребител,SHOW port;Или,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
Странична бележка:postgres потребител
Предлагам НЕ промяна на postgres потребител.
- Обикновено е заключен от ОС. Никой не трябва да "влиза" в операционната система като
postgres. Предполага се, че имате root, за да стигнете до удостоверяване катоpostgres. - Обикновено не е защитена с парола и се делегира на операционната система на хоста. Това е добро нещо . Това обикновено означава да влезете като
postgresкоето е PostgreSQL еквивалент наSAна SQL Server , трябва да имате достъп за запис до основните файлове с данни. И това означава, че нормално бихте могли да разрушите хаос така или иначе. - Като запазите това деактивирано, премахвате риска от атака с груба сила чрез посочен суперпотребител. Скриването и скриването на името на суперпотребителя има предимства.