Documentation Blog Login SignUp
Menu

Установка и настройка PostgreSQL и PgAdmin4 в Linux

June 11, 2020 2668 просмотров 0 комментариев
Telegram Twitter Instagram Zen
Содержание#Интро#Установка PostgreSQL#Запуск PostgreSQL#Создание и удаление пользователя в PostgreSQL#Установка и настройка Pgadmin4#Добавление сервера в PgAdmin4#Создание базы данных в PgAdmin4

 

Интро

PostgreSQL -  одна из самых популярных СУБД в мире. Т.к многие сталкиваются с проблемами при установке и настройке, особенно PgAdmin4, я написал краткий гайд, держите его под рукой, и у вас не возникнет проблем. Все действия выполняются на примере ОС Linux Ubuntu.

 

Установка PostgreSQL в Linux

Если вы устанавливаете PostgreSQL в Windows, молитесь деревянным богам. Пользователи Linux, открывает терминал и пишем:

$ sudo apt install postgresql postgresql-contrib

 

После установки проверяем статус, обычно PostgreSQL запускается сразу:

$ service postgresql status
     Active: active (exited) since Wed 2020-06-10 16:03:52 +07; 3min 53s ago

 

Команды для управления сервисом такие как start, stop, restart и т.д, можно подглядеть использую команду:

$ service postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ..]

 

Конфиг файл postgresql находится в директории:

cain@pytoday:/etc/postgresql/your_postgresql_version/main$ 
conf.d       pg_ctl.conf  pg_ident.conf    start.conf
environment  pg_hba.conf  postgresql.conf

 

Запуск PostgreSQL в Linux

Чтобы войти в PostgreSQL нам нужно залогиниться, при установке СУБД система создаёт суперпользователя под именем postgres:

$ sudo su postgres
postgres@pytoday:/home/cain$ 

 

Команда psql запускает shell PostgreSQL.

postgres@pytoday:/home/cain$ psql
postgres=# 

 

Теперь мы можем создавать, редактировать, удалять базы данных, таблицы, пользователей и назначать им права.

 

Некоторые команды для примера:

\l - выводит список БД.

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

 

\du - выводит список пользователей.

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 

Изменим пароль суперпользователя postgres:

postgres=# ALTER USER postgres WITH PASSWORD 'qwerty';
ALTER ROLE
postgres=# 

 

Запомните или запишите пароль, пригодится.

 

Создание и удаление пользователя в PostgreSQL

Создадим пользователя командой:

postgres=# CREATE USER username WITH PASSWORD 'password';
CREATE ROLE
postgres=# 

 

Где:

  • username - имя пользователя.
  • 'password' - пароль.

 

Снова выведем список пользователей командой \du:

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 username  |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 

Видим, что новый пользователь появился в списке, но у него нет никаких прав. Назначим его суперпользователем командой:

postgres=# ALTER USER username WITH SUPERUSER;
ALTER ROLE

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 username  | Superuser                                                  | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=# 

 

Чтобы удалить пользователя используйте команду:

postgres=# DROP USER username;

 

Для выхода из PostgreSQL shell используйте команду:

postgres=# \q 

 

Комбинация клавиш CTRL + D, завершит работу с PostgreSQL.

 

Это лишь часть команд PostgreSQL, чтобы ознакомиться с полным списком введите:

postgres=# man psql

 

Курите мануал господа 8)

 

Установка и настройка PgAdmin4

Выполните команду:

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

 

Далее update:

$ sudo apt-get update

 

Если возникает ошибка:

N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease' doesn't support architecture 'i386'

 

Откройте следующий файл командой:

$ sudo nano /etc/apt/sources.list.d/pgdg.list 

 

И исправьте строку:

deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main
на
deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main

 

Ещё раз выполняем $ sudo apt-get update ,ошибка исчезнет.

 

Устанавливаем PgAdmin4.

$ sudo apt install pgadmin4 pgadmin4-apache2

 

На этапе установки система потребует ввести почту:

 

 

и пароль:

 

 

После установки переходим на http://localhost/pgadmin4/

 

 

Вводим почту и пароль, если вы видите приветственную страницу apache, перейдите по адресу http://localhost/pgadmin4/browser перед вами откроется админ панель PgAdmin4.

 

 

В английском ни в зуб ногой? Выбираем язык Configure pgAdmin:

 

 

Добавление сервера в PgAdmin4

Добавим новый сервер, либо ПКМ Servers в левом верхнем углу, либо Add New Server на главной странице.

 

 

Во вкладке Connections пропишем настройки.

 

 

Создание базы данных в PgAdmin4

Создадим нашу первую БД.

 

 

При создании БД, вы можете выбрать какой пользователь будет её владельцем.

 

 

БД успешно создана.

 

 

Теперь у вас установлена одна из лучших СУБД на мой взгляд в придачу с pgAdmin4. Пользуйтесь.

 

Больше интересного?

Как разбить строку в Python

Установка последней версии Python на Linux

Как подключить PostgreSQL к Django


Комментарии
0

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