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

12 set 2022 4 min di lettura
Как установить PostgreSQL в Debian 10
Indice dei contenuti

Введение

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

В этом руководстве мы объясним, как установить Postgres на VPS с Debian 10.

Если вы намерены установить PostgreSQL на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации. Чтобы подключиться к серверу как root, введите эту команду:

ssh root@IPDELSERVER

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

ssh VOSTROUTENTE@IPDELSERVER

Затем вам будет предложено ввести пароль пользователя. Теперь вы подключены к вашему серверу.

Установить PostgreSQL

Вы можете установить PostgresSQL, используя официальный репозиторий Debian с помощью apt.

Обновите список пакетов:

sudo apt update

Установить PostgreSQL

sudo apt install postgresql postgresql-contrib

Используйте PostgreSQL

По умолчанию Postgres использует концепцию, называемую «ролями», для обработки аутентификации и авторизации, аналогичную обычным учетным записям в стиле Unix.

При установке Postgres настроен на использование идентификационной аутентификации, что означает, что он сопоставляет роли Postgres с соответствующим пользователем системы Linux. Если в Postgres существует роль с тем же именем, что и у пользователя Linux, они смогут войти в систему под этой ролью.

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

Для использования этой учетной записи и доступа к postgres существует несколько процедур.

Чтобы войти в систему с пользователем postgres, из терминала:

sudo -i -u postgres

Затем, чтобы получить доступ к приглашению Postgres и управлять базой данных, введите;

psql

Чтобы выйти из командной строки Postgres, введите:

\q

Создать новую роль

В настоящее время в базе данных настроена только роль postgres. Вы можете создавать новые роли из командной строки с помощью команды «Создать их». Параметр --interactive спросит у вас имя новой роли и следует ли включить права суперпользователя.

Если у вас все еще активна подсказка postgres, введите:

\q

Если вы вошли в систему с учетной записью postgres, вы можете создать нового пользователя с помощью следующей команды:

createuser --interactive

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

sudo -u postgres createuser --interactive

Вам будет предложено ввести имя для новой роли и назначить ей права суперпользователя.

Enter name of role to add: noviello
 Shall the new role be a superuser? (y/n) y

Создать новую базу данных

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

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

Если вы вошли в систему с учетной записью postgres, вы можете создать новую базу данных с помощью следующей команды:

createdb noviello

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

sudo -u postgres createdb noviello

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

Если пользователя с таким именем нет, вы можете создать его с помощью команды adduser.

Выполните эту процедуру с учетной записью пользователя, отличной от postgres.

Чтобы создать нового пользователя:

sudo adduser noviello

Теперь мы можем подключиться с новым пользователем к базе данных и использовать приглашение postgres:

sudo -i -u noviello
psql

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

psql -d postgres

Чтобы получить информацию о текущем соединении:

\conninfo

Вы должны увидеть ответное сообщение, подобное этому:


You are connected to database "noviello" as user "noviello" via socket in "/var/run/postgresql" at port "5432".

Добавлять и удалять данные в таблицах

Ниже приведен пример создания таблицы:


CREATE TABLE test (
 id serial PRIMARY KEY,
 esempio1 varchar (50) NOT NULL,
 esempio2 varchar (25) NOT NULL,
 esempio3 varchar(25) check (esempio3 in ('valore1', 'valore2', 'valore3', 'valore4', 'valore5', 'valore6', 'valore7', 'valore8')),
 datains date
 );

Чтобы просмотреть только что созданную таблицу:

\d

Вы должны увидеть ответное сообщение, подобное этому:


 List of relations
 Schema | Name | Type | Owner
 --------+-------------------------+----------+---------
 public | test | table | noviello
 public | testidseq | sequence | noviello
 (2 rows)

Чтобы просмотреть таблицу без дополнительной информации:

\dt

Вы должны увидеть ответное сообщение, подобное этому:


 List of relations
 Schema | Name | Type | Owner
 --------+------------+-------+---------
 public | test | table | noviello
 (1 rows)

Чтобы вставить новые значения в таблицу:

INSERT INTO test (esempio1, esempio2, esempio3, datains) VALUES ('valore1', 'valore2', 'valore3', '2018-06-29');
INSERT INTO test (esempio1, esempio2, esempio3, datains) VALUES ('valore4', 'valore5', 'valore6', '2018-06-29');

Чтобы получить только что введенную информацию:

SELECT * FROM test;

Вы должны увидеть ответное сообщение, подобное этому:


 id | esempio1 | esempio2 | esempio3 | datains
 ----+-----------+-----------+-----------+------------
 1 | valore1 | valore2 | valore3 | 2018-06-29
 2 | valore4 | valore5 | valore6 | 2018-06-29
 (2 row)

Чтобы удалить строку из базы данных:

DELETE FROM test WHERE esempio1 = 'valore1';

Снова извлеките информацию из базы данных, чтобы убедиться, что строка была удалена:

SELECT * FROM test;

Вы должны увидеть ответное сообщение, подобное этому:


 id | esempio1 | esempio2 | esempio3 | datains
 ----+-----------+-----------+-----------+------------
 2 | valore4 | valore5 | valore6 | 2018-06-29
 (1 row)

Удалить и добавить столбцы в таблицы

Чтобы добавить столбец в базу данных:

ALTER TABLE test ADD altro date;

Для просмотра изменений повторите следующую команду:

SELECT * FROM test;

Вы должны увидеть ответное сообщение, подобное этому:


 id | esempio1 | esempio2 | esempio3 | datains | altro
 ----+-----------+-----------+-----------+------------+-----------
 2 | valore4 | valore5 | valore6 | 2018-06-29 |
 (1 row)

Чтобы удалить столбец:

ALTER TABLE test DROP altro;

Для просмотра изменений повторите следующую команду:

SELECT * FROM test;

Вы должны увидеть ответное сообщение, подобное этому, без столбца, созданного выше:


 id | esempio1 | esempio2 | esempio3 | datains
 ----+-----------+-----------+-----------+------------
 2 | valore4 | valore5 | valore6 | 2018-06-29
 (1 row)

Изменить данные в таблице

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

UPDATE test SET esempio2 = 'nuovovalore' WHERE esempio1 = 'valore4';

Для просмотра изменений повторите следующую команду:

SELECT * FROM test;

Вы должны увидеть ответное сообщение, подобное этому:


 id | esempio1 | esempio2 | esempio3 | datains
 ----+-----------+-----------+-----------+------------
 2 | valore4 | nuovovalore | valore6 | 2018-06-29
 (1 row)

Вывод

Установка PostgreSQL на Debian 10 завершена.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.