How to Install and Configure PostgreSQL 10 on Debian-like Linux.
PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. The PostgreSQL community provides many helpful places to become familiar with the technology, discover how it works, and find career opportunities. This article covers installation and configuration PostgreSQL 10 on Debian-like linux system.
Pre-setup
At first we should add an English locale to a server. Let check if it exists:
$ locale -a | grep en
in case we have nothing in response, than run:
Step 1: $ dpkg-reconfigure locales
Step 2: choose locale in the list en_US.UTF-8 and click Yes
Step 3: select the default locale en_US.UTF-8
Installation
Under root user execute:
Step 1: # apt-get install lsb-release
Step 2: # echo “deb http://apt.postgresql.org/pub/repos/apt/ $ (lsb_release -sc) -pgdg main”> /etc/apt/sources.list.d/pgdg.list
Step 4: # apt-get update && apt-get install postgresql-10 -y
In the result we get:
Database location: /var/lib/postgresql/10
Location logs: /var/log/postgresql/postgresql-10-main.log
Setting the rotation logs: /etc/logrotate.d/postgresql-common
Main configuration files:
/etc/postgresql/10/main/postgresql.conf
/etc/postgresql/10/main/pg_hba.conf
Setup PostgreSQL User
We should change a empty default password to something secure and meaningful:
#su — postgres
#psql
#postgres = # \ password postgres
#postgres = # \ q
Tuning PostgreSQL Settings
By default, PostgreSQL accepts connections only from local services, because listens to the localhost interface and this is absolutely correct in terms of security, but if you plan to connect to the server from outside or from the local network, you will need to change the listen_addresses parameter:
For PostgreSQL 10, open the main settings file:
Change listen_addresses = ‘localhost’ to listen_addresses = ‘*’
Commenting line: ssl on
Now we allow the connection from the local network from any hosts and to any databases, to make it possible we should add to the end of the: /etc/postgresql/10/main/pg_hba.conf file
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 94.125.120.28/32 md5
host all all 13.68.143.152/32 md5
host all all 40.76.65.192/32 md5
Next, exit the postgres user and restart PostgreSQL: service postgresql restart
Checking PostgreSQL is up and running:
netstat -ltupn | grep postgre
Proto Recd-Q Send-Q Local Name PID / Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 563 / sshd
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 9484 / postgres
tcp6 0 0 . 22 . * LISTEN 563 / sshd
tcp6 0 0 . 5432 . * LISTEN 9484 / postgres
Advanced Tuning
For a server with 2 GB RAM, 1 CPU and SSD storage we recommend next configuration:
Установка 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, а также как защитить и настроить полученный сервер баз данных. Есть ли у вас какие-либо вопросы или мысли, которыми хочется поделиться? Используйте форму комментариев ниже.
Как установить PostgreSQL 13 на Debian 10 | Debian 9
PostgreSQL — это мощная, отказоустойчивая и отказоустойчивая система управления реляционными базами данных с открытым исходным кодом, на которой работают многие критически важные приложения. База данных PostgreSQL основана на POSTGRES 4.2. На момент обновления этой статьи последним стабильным выпуском PostgreSQL является версия 13. Все новые функции, улучшения и отчеты об исправлениях для PostgreSQL 13 доступны на официальной странице выпуска .
Вот некоторые примечательные новые функции:
- Улучшения за счет исключения дублирования записей индекса B-дерева — экономия места и повышение производительности за счет
- Запросы, использующие агрегаты или секционированные таблицы, получают повышенную производительность.
- Инкрементальная сортировка
- Лучшее планирование запросов при использовании расширенной статистики
- Параллельная очистка индексов
Шаг 1. Установка PostgreSQL 13 на Debian 10 | Debian 9
Просто веселое видео для отвлечения и расслабления в течение 2 минут
Если вы выполните следующие шаги, описанные в этой статье, вы должны получить работающую и работающую установку PostgreSQL 13 на Debian 10 | Машина Debian 9 Linux.
Перед продолжением рекомендуется обновить вашу систему и все установленные пакеты.
После этого перезагрузите сервер.
Шаг 2. Добавьте репозиторий PostgreSQL 12
Перед настройкой репозитория APT импортируйте ключ GPG, используемый для подписи пакетов:
После импорта ключа GPG добавьте репозиторий PostgreSQL в вашу систему Debian.
Cat файл, созданный для проверки его содержимого:
Шаг 3. Установите PostgreSQL 13 в Debian 10 | Debian 9
Теперь, когда репозиторий добавлен, успешно обновите список пакетов и установите PostgreSQL 13 на Debian 10 / Debian 9 Linux. Сервер может работать в облаке, на локальном оборудовании или в любой другой допустимой среде виртуализации.
И, наконец, инициируйте установку PostgreSQL 13 на Debian 10 | Debian 9:
Запустите сервер базы данных, используя следующую команду:
Подтвердите статус службы и используемый файл конфигурации.
Вы также можете использовать команду systemctl для проверки статуса службы.
Запустите командную строку PostgreSQL с помощью команды:
Выполните тестовые операции:
Подключитесь к базе данных:
Установите пароль пользователя:
Отбросьте базу данных:
Я надеюсь, что вы получили удовольствие от разработки с сервером баз данных PostgreSQL 13 на машине Debian Linux.
Privacy Overview
Этот веб-сайт использует файлы cookie, чтобы улучшить вашу работу во время навигации по веб-сайту. Из них файлы cookie, которые классифицируются как необходимые, хранятся в вашем браузере, поскольку они необходимы для работы основных функций веб-сайта. Мы также используем сторонние файлы cookie, которые помогают нам анализировать и понимать, как вы используете этот веб-сайт. Эти файлы cookie будут храниться в вашем браузере только с вашего согласия. У вас также есть возможность отказаться от этих файлов cookie. Но отказ от некоторых из этих файлов cookie может повлиять на ваш опыт просмотра.
How to Install PostgreSQL Database in Debian 10
PostgreSQL (sometimes referred to as Postgres) is the most advanced open-source general-purpose and object-relational database system with a proven architecture that runs on all major operating systems. It is a high performance, stable, scalable and extensible database system which provides amazing data integrity and supports powerful add-ons.
Importantly, PostgreSQL allows you to define your own data types, add custom functions, even write code from different programming languages such as C/C++, Java, etc, without recompiling your database.
PostgreSQL is being used by well-known Tech companies such as Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc.
In this article, we will show you how to install, secure and configure PostgreSQL databases server in Debian 10.
Requirement:
Installing PostgreSQL Server on Debian 10
To install PostgreSQL database server, use the default APT package manager, which will install PostgreSQL 11 server and client.

On Debian, like any other daemons, the Postgres database is initialized immediately after the package installation is complete as shown in the following screenshot.

To check if the Postgres database is truly initialized, you can use the pg_isready utility which checks the connection status of a PostgreSQL server, as follows.

Besides, under systemd, the Postgres service is also started automatically and enabled to start at system boot. To make sure that the service is up and running fine, run the following command.

The following are other useful systemctl commands to manager the Postgres service under systemd.
Securing and Configuring PostgreSQL Database
By default, the Postgres uses the concept of roles to manage database access permissions and database roles are conceptually completely separate from operating system users. A role can be a user or a group, and a role that has login right is called user.
A freshly initialized system always contains one predefined role called postgres, it has the same name as the operating system user account called postgres, which is used to access the psql (Postgres shell) and other database programs.
The Postgres system user account is not protected using a password, to secure it, you can create a password using the passwd utility.

Also, the Postgres role (or administrative database user if you like) is not secured by default. You also need to secure it with a password. Now switch to the postgres system user account and postgres role (remember to set a strong and secure password) as shown.

Then exit the postgres account to proceed with the guide.
Configuring Client Authentication
The main Postgres configuration file is located at /etc/postgresql/11/main/postgresql.conf. In addition to this file, Postgres uses two other manually-edited configuration files, which control client authentication.
Client authentication is controlled by the /etc/postgresql/11/main/pg_hba.conf configuration file. Postgres provides many different client authentication methods including password-based authentication. Client connections are authenticated based on client host address, database, and user.
If you choose to use password-based authentication, you can implement one of these methods: md5 or password which operate similarly except for the way that the password is transmitted across the connection, namely MD5-hashed and clear-text respectively.
Using md5 password authentication averts password sniffing by hackers and avoids storing passwords on the server in plain text. Password method can only be securely used if the connection is protected by SSL encryption.
For this guide, we will show how to configure md5 password authentication for client authentication.
Look for the following line and change the authentication method to md5 as shown in the screenshot.

Save the changes in the file and exit it. Then apply the recent changes by restarting the Postgres service as follows.
Creating a New Database and Database Role/User in PostgreSQL
In this last section, we will show how to create a new database user and a database role to manage it. First, switch to the postgres account and open the Postgres shell as follows.
To create a database called “test_db” run the following SQL command.
Then create a database user (a role with login rights) who will manage the new database as follows.
To connect to the test_db as the user test_user, run the following command.

Conclusion
That’s if for now! In this guide, we have shown how to install, secure and configure PostgreSQL databases server in Debian 10. Do you have any question or thoughts to share? Use the comment form below to reach us.
Tutorial Feedback.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.