Поиск по сайту:

Как установить и использовать PostgreSQL в Ubuntu 18.04


PostgreSQL (сокращенно Postgres) — это мощная, расширенная, высокопроизводительная и стабильная система баз данных реляционных документов с открытым исходным кодом. Он использует и расширяет язык SQL в сочетании с большим количеством функций для безопасного хранения данных и управления ими.

Он эффективен, надежен и масштабируем для обработки больших и сложных объемов данных и создания отказоустойчивых сред корпоративного уровня, обеспечивая при этом высокую целостность данных. Postgres также обладает широкими возможностями расширения благодаря таким функциям, как индексы и API-интерфейсы, что позволяет вам разрабатывать собственные решения для решения задач хранения данных.

В этой статье мы объясним, как установить PostgreSQL на сервер Ubuntu 18.04 (также работает и в более старых версиях Ubuntu) и изучим некоторые основные способы его использования.

Как установить PostgreSQL в Ubuntu

Сначала создайте файл /etc/apt/sources.list.d/pgdg.list, в котором хранится конфигурация репозитория, затем импортируйте ключ репозитория в свою систему, обновите список системных пакетов и установите пакет Postgres. используя следующие команды.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

После установки postgres служба базы данных запустится автоматически, и вы можете подтвердить это, введя следующую команду.

sudo systemctl status postgresql.service

Как использовать роли и базы данных PostgreSQL

В postgres аутентификация клиента контролируется файлом конфигурации /etc/postgresql/10/main/pg_hba.conf. Метод аутентификации по умолчанию — "peer" для администратора базы данных. Это означает, что он получает имя пользователя операционной системы клиента из операционной системы и проверяет, соответствует ли оно запрошенному имени пользователя базы данных, чтобы разрешить доступ для локальных подключений. (как показано на следующем скриншоте).

В процессе установки была создана системная учетная запись пользователя с именем postgres без пароля; это также имя пользователя администратора базы данных по умолчанию.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Кроме того, в postgres управление разрешениями доступа к базе данных осуществляется с помощью ролей. Роль может рассматриваться как пользователь базы данных или группа пользователей базы данных, в зависимости от того, как настроена роль.

Роль по умолчанию также — postgres. Важно отметить, что роли базы данных концептуально полностью не связаны с пользователями операционной системы, но практически они не могут быть отдельными (например, когда речь идет об аутентификации клиента).

Важно отметить, что роли могут владеть объектами базы данных и назначать привилегии на эти объекты другим ролям, чтобы контролировать, кто к каким объектам имеет доступ. Кроме того, можно предоставить членство в роли другой роли.

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

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Как использовать PostgreSQL в Ubuntu

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

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

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

sudo -i -u postgres psql

Вы можете выйти из postgres, введя следующую команду.

postgres=# \q

Создание ролей базы данных PostgreSQL

Создайте новую роль пользователя, используя следующую команду.

postgres=# CREATE ROLE tecmint;

Чтобы создать роль с атрибутом LOGIN, используйте следующую команду (роли с атрибутом LOGIN можно рассматривать как пользователей базы данных).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

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

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Получение списка существующих ролей базы данных PostgreSQL

Чтобы просмотреть существующие роли пользователей, используйте любую из этих команд.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Удаление роли базы данных PostgreSQL

Чтобы удалить любую существующую роль пользователя, используйте команду DROP ROLE, как показано.

postgres=# DROP ROLE tecmint;

Создайте базу данных PostgreSQL

После того как вы создали роль с определенным именем (например, пользователь tecmint), вы можете создать базу данных (с тем же именем, что и роль), которая будет управляться этой ролью, как показано.

postgres=# CREATE DATABASE tecmint;

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

sudo -i -u tecmint psql

Создайте таблицу PostgreSQL

Создавать таблицы настолько просто, что мы создадим тестовую таблицу под названием authors, в которой будет храниться информация об авторах TecMint.com, как показано.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

После создания таблицы попробуйте заполнить ее некоторыми данными следующим образом.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

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

tecmint=> SELECT * FROM authors;

Получение списка таблиц базы данных PostgreSQL

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

tecmint=>\dt

Удалить/удалить таблицу PostgreSQL

Чтобы удалить таблицу в текущей базе данных, используйте команду DROP.

tecmint=> DROP TABLE authors;

Получение списка всех баз данных PostgreSQL

Чтобы вывести список всех баз данных, используйте любую из следующих команд.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Удалить/удалить базу данных PostgreSQL

Если вы хотите удалить базу данных, используйте, например, команду DROP.

tecmint=>DROP DATABASE tecmint;

Переключиться на другую базу данных PostgreSQL

Вы также можете легко переключиться с одной базы данных на другую, используя следующую команду.

tecmint=>\connect database_name

Для получения дополнительной информации обратитесь к документации PostgreSQL 10.4.

На этом всё! В этой статье мы объяснили, как установить и использовать систему управления базами данных PostgreSQL в Ubuntu 18.04. Вы можете отправить нам свои вопросы или мысли в комментариях.