Debian postgresql create database

Установка PostgreSQL в Debian 10

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

Важно то, что PostgreSQL позволяет вам определять свои собственные типы данных, добавлять пользовательские функции, даже писать код на разных языках программирования, таких как C/C++, Java, и т. д., без перекомпиляции вашей базы данных. PostgreSQL используется известными техническими компаниями, такими как Apple, Fujitsu, Red Hat, Cisco, Juniper Network и т. д. В этой статье мы покажем вам, как установить, защитить и настроить сервер баз данных PostgreSQL 11 Debian 10.

Установка PostgreSQL на Debian 10

Чтобы установить PostgreSQL Debian 10, используйте менеджер пакетов APT, который установит и сервер и клиент PostgreSQL 11.

apt install postgresql-11 postgresql-client-11

В Debian, база данных postgres инициализируется сразу после завершения установки пакета, как показано на следующем снимке.

Чтобы проверить, действительно ли база данных Postgres инициализирована, вы можете использовать утилиту pg_isready, которая проверяет статус соединения сервера PostgreSQL 11 следующим образом:

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

systemctl status postgresql

Далее следуют другие полезные команды systemctl для управления службой Postgres в systemd.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql

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

systemctl reload postgresql

Настройка PostgreSQL

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

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

Учетная запись пользователя системы Postgres не защищена паролем, для ее защиты вы можете создать пароль с помощью утилиты passwd.

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

su — postgres
psql -c «ALTER USER postgres WITH PASSWORD ‘новый_пароль’;»

Далее выйдите из учетной записи postgres, чтобы продолжить настройку. Основной файл конфигурации Postgres находится по пути /etc/postgresql/11/main/postgresql.conf. В дополнение к этому файлу Postgres использует два других файла конфигурации, которые управляют аутентификацией клиента.

Читайте также:  Комплекты картриджей для фильтра гейзер престиж

Аутентификация клиента контролируется файлом конфигурации /etc/postgresql/11/main/pg_hba.conf. Postgres предоставляет множество различных методов аутентификации клиента, включая аутентификацию на основе пароля. Клиентские соединения аутентифицируются на основе адреса хоста клиента, базы данных и пользователя.

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

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

В этом руководстве мы покажем, как настроить аутентификацию по паролю md5 для аутентификации клиента.

Найдите следующую строку и измените метод аутентификации на md5, как показано на скриншоте.

local all all md5

Сохраните изменения в файле и выйдите из него. Затем примените последние изменения, перезапустив службу Postgres следующим образом.

systemctl restart postgresql

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

Чтобы создать базу данных с именем «test_db», выполните следующую SQL команду:

CREATE DATABASE test_db;

Затем создайте пользователя базы данных (роль с правом входа), который будет управлять новой базой данных:

CREATE USER test_user PASSWORD ‘новый_пароль’;

На этом настройка postgresql Debian 10 практически завершена. Чтобы подключиться к test_db от имени пользователя test_user, выполните:

psql -d test_db -U test_user

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

Выводы

На этом, пока что, все! В этой статье мы показали, как делается установка Postgresql Debian 10, а также как защитить и настроить полученный сервер баз данных. Есть ли у вас какие-либо вопросы или мысли, которыми хочется поделиться? Используйте форму комментариев ниже.

Источник

  • ru
  • PostgreSql

Обзор PostgreSQL

PostgreSQL имеет обширную и хорошую документацию по установке и использованию, используйте её как первоисточник документации по PostgreSQL. Данная страница описывает основные отличия установки PostgreSQL на Debian от общей установки PostgreSQL.

Установка

Требуемые пакеты: postgresql postgresql-client

Рекомендуемые пакеты:

  • postgresql-doc — документация.
  • pgadmin3 — PostgreSQL administration GUI.
  • phppgadmin — веб-интерфес для утилит администратора

Обратите внимание, что процедурные языки устанавливаются отдельно (plpgsql устанавливается по-умолчанию). Выполните поиск по базе данных пакетов, для вывода списка возможностей PostgreSQL:

Пользовательский доступ

По умолчанию пользователя и базу данных называют postgres.

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

Новый Пользователь и база данных

Создать системного пользователя можно используя adduser (пропустите этот шаг, чтобы использовать существующую учетную запись):

Подключаемся к БД и создаем нового пользователя и базу данных:

Подключаемся пользователем mypguser к новой БД:

Если вы получаете ошибки, как например эта:

то отредактируйте файл pg_hba.conf в /etc/postgresql/X.Y/main/pg_hba.conf

Документация

Для ознакомления с представлением PostgreSQL в архитектуре Debian, инструкциями по быстрому запуску, ссылками на программы и страницами руководств, обратитесь к /usr/share/doc/postgresql-common/README.Debian.gz.

Учебные файлы

Документация PostgreSQL ссылается на учебник, который входит в пакет postgresql-doc. За более подробной информацией обратитесь к /usr/share/doc/postgresql-doc-[version]/tutorial/README.

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

Используйте команду pg_lsclusters для проверки установленных кластеров, а также для получения некоторых основных сведений, такие как: версия (основная версия), имя, порт, статус (вкл. или выкл.), владелец, директория данных и файл лога.

Читайте также:  Postgresql interval hour to minute

Замена pg_ctl

pg_ctl это команда для управления PostgreSQL из командной строки, которая используется для управления базой данных. Debian имеет Perl-обёртку для pg_ctl, которая вызывается из /usr/bin/pg_ctlcluster. Используйте pg_ctlcluster, когда вам потребуется использовать pg_ctl. Файл настроек находится в /etc/postgresql/[version]/[cluster]/pg_ctl.conf

Debian устанавливает SysV-init-совместимый (стандартный) скрипт автозагрузки в /etc/init.d/postgresql-[version]. Скрипт может использоваться для запуска, остановки, перезапуска и перезагрузки настроек без перезапуска системы. Скрипт вызывает pg_ctlcluster через внутренние вызовы.

Расположение файлов

Debian разделяет файл настроек базы данных от файлов базы данных, в то время как, общая установка PostgreSQL, напротив, ставит всё в один и тот же каталог. Обратите внимание, что Debian позволяет нескольким кластерам и даже различным версиям PostgreSQL находится на одном хосте.

Конфигурационные файлы: /etc/postgresql/[version]/[cluster]/
Бинарные: /usr/lib/postgresql/[version]
Файлы данных: /var/lib/postgresql/[version]/[cluster]

Log-файлы: При установки PostgreSQL создает директорию для лог-файлов /var/log/postgresql/. При запуске ядра СУБД создает файл журнала с именем postgresql-[version]-[cluster].log.

Изменение значений по-умолчанию в установке на Debian

Установка PostgreSQL на Debian автоматически вызывает initdb, т.е. инициализирует кластер с кодировкой и локалью по-умолчанию. Кодировка можно будет сменить позже, но язык нельзя. Для смены языка (возможно, чего-то ещё из initdb), удалите существующий по-умолчанию кластер и создайте новый:

  1. Авторизуйтесь как root.
  2. Выполните следующую команду: Пример:
  3. Запустите initdb указав ваши настройки. Пример:

Внимание!

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

Рассмотрите страничку Locale если вам потребуется больше локалей.

Источник

How to install PostgreSQL on Debian 11

Notable Features of PostgreSQL

PostgreSQL supports some distinctive features that allow large scale organizations to adopt it for data processing. Some notable features are listed below:

  • Programming Language: Extensive support of programming languages that includes Python, Java, C#, Perl, Go.
  • Data Types: It has huge support of pre-defined datasets while users can create their own data type as well.
  • SQL integration: Several advanced level features are compatible with PostgreSQL: such as, complex subqueries, table partitioning, nested transactions
  • Security: For secure processing of data, PostgreSQL uses authentication protocols like Lightweight Directory Access Protocol (LDAP), and provides row/column security as well.

How to install PostgreSQL on Debian 11

To install PostgreSQL on Debian 11; you can follow any of the following two methods:

Method 1: Install PostgreSQL using repository of Debian 11
Method 2: Install PostgreSQL using official PostgreSQL repository

We will explain the installation process using both methods: the first method uses the packages from Debian repository whereas the second method will fetch the repository packages from PostgreSQL official package:

Method 1: How to install PostgreSQL using repository of Debian 11

The installation method will direct you to install PostgreSQL using a simple and time saving process by using Debian packages:

Step 1: Update and Upgrade the packages list
It is recommended to update and upgrade the list of packages by issuing the commands mentioned below:

Step 2: Install PostgreSQL
The required package resides in Debian repository so you can install it by using “apt”: install PostgreSQL by issuing the command mentioned below:

Читайте также:  Bremsbelag что это за ошибка

Once PostgreSQL is installed, you can check the status of service by using the command given below:

Moreover, the status of service can be changed by using the following commands:

To stop the running PostgreSQL service:

And to start the stopped service:

Method 2: How to install PostgreSQL using official repository of Debian 11

Follow the simple steps mentioned below to add the official repository of PostgreSQL for Debian 11 and then install it; you can follow the steps mentioned below to do so:

Step 1: Add PostgreSQL repository
It is recommended to add the official repo of PostgreSQL, so that you get the latest version of packages: firstly, you have to add the GPG signing key of PostgreSQL packages to secure the package repository: you can do so by issuing the command mentioned below:

Now, you are ready to add PostgreSQL repository: use the command mentioned below to perform the action:

Step 2: Installation of PostgreSQL
After successful integration of PostgreSQL library you are ready to install it: but before this, it is recommended to update the system’s repository by using the command mentioned below:

Install PostgreSQL with the help of below-mentioned command:

How to create database using PostgreSQL in Debian 11

PostgreSQL can be used as a postgres user only, if you set a password; otherwise you will not be able to log in as a postgres user: Use the following command to set up a password:

To create database in PostgreSQL, you must login to PostgreSQL server and then access its shell; use the following command to log in as a postgres user: it will ask for password; type your password and hit enter:

Now access the shell using postgres user by issuing the following keyword:

Once you have accessed the command shell of Postgres, you can now use SQL queries to perform several database related operations:

For instance, we want to create a database “linuxhint”; for that, we will use the following SQL query to do so:

To access the database log in as postgres user and use the following command to access database “linuxhint”:

Note: You can fall back to the postgres user by using “\q”:

You can now add, delete, select data from the database by accessing the database on terminal. Moreover, to drop a database you have to come out of database by using “\q” and then use the following command:

And if you try to access database “linuxhint”; the shell will display an error that “linuxhint” does not exists:

Conclusion

PostgreSQL is a widely used Relational Database Management System used by several large companies ranging from large to medium size strength. Although it is a relational database it supports JSON for non-relational querying that makes PostgreSQL a favorite choice of organizations. This post provides the installation guide of PostgreSQL for Debian11, two methods are described here. Method 1 enables you to install PostgreSQL from Debian own’s packages repository, on the other hand you can follow Method 2 to get the updated PostgreSQL from its official repository.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector