Подключение к postgres


Подключение к postgres выполняется обычно без пароля от имени системного пользователя postgres. Он добавляется при установке пакета.



Подключение к postgres — подключение к БД из консоли и в конфигурационном файле


После подключения создается база, в нее загружается дамп.

При необходимости можно создать отдельного пользователя. Это хорошая практика когда сервер баз данных используется для нескольких приложений поскольку она обеспечивает разделение доступа.

Для каждого приложения стоит создавать отдельную базу, отдельного пользователя и предоставлять пользователю доступ только к одной базе.


После загрузки дампа в конфигурационном файле сайта или веб-приложения задаются реквизиты подключения.



Рассмотрим подключение из консоли от имени пользователя postgres. Он основной для postgresql, root не используется.

postgres@website:~$ psql

psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type «help» for help.



Команда \list выводит список созданных баз

postgres=# \list

List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
————+———-+———-+————+————+————————
app | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | appadmin=CTc/postgres
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)



Наглядно вывод показан на скриншоте:

Подключение к postgres


Далее можно подключаться к базе с \c DB_NAME

postgres=# \c app

You are now connected to database «app» as user «postgres».



Подключение к postgres установлено, теперь возможна работа с базой. Например, можно просмотреть список таблиц

app=# \dt



Веб-приложение подключается также, реквизиты задаются в конфигурационном файле.



Подключение к postgres с реквизитами альтернативного пользователя, не postgres


От имени другого пользователя подключиться можно так:

psql -h localhost -d mydatabase -U myuser -W

-h — флаг, задающий сервер для подключения. В случае с localhost флаг и значение можно опустить

-d — имя базы данных

-U — имя пользователя



Читайте о том как сделать дамп базы Postgres и как загрузить дамп в базу. Это необходимо при разворачивании на сервере любого приложения, которое использует postgresql

Сказать спасибо