Системное администрирование linux

Настройка и начало работы с postgresql

Введение

Сервер 1С не умеет работать со стандартной версией PostgreSQL. Её нужно патчить. Существует как минимум 2 версии postgresql с патчами для запуска 1С:

  1. PostgreSQL Pro — https://1c.postgres.ru.
  2. Версия от фирмы 1С. Установочный файл обычно называется Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом. Скачать можно только с портала https://releases.1c.ru имея актуальную учетную запись.

Я всегда в своей практике использовал версию от postgresql pro, так как она обновляется быстрее и проще скачать. С ней как правило меньше проблем. Я лично вообще не сталкивался с ними, так что могу рекомендовать именно эту версию.

Используя Linux сервер для установки 1С вы экономите деньги на следующих лицензиях:

  • Microsoft Windows Server.
  • Microsoft SQL Server.
  • Клиентский доступ к MS SQL Server.

Вам понадобится приобрести только лицензию на сам 1С сервер. А операционная система Linux и БД PostgreSQL бесплатны. Более подробно стоимость лицензий и их подбор я рассматривал в своем телеграм канале отдельной заметкой. Там же есть полезные комментарии в обсуждениях на этот счет.

Если вы в данный момент используете файловые базы, но их производительность вас не устраивает, посмотрите мою статью про ускорение файловых баз 1С. Возможно вам удастся немного отсрочить момент перехода на клиент-серверную версию, так как это сопряжено с дополнительными расходами. Причем расходы будут как на начальную покупку лицензий и железа, так и на последующее сопровождение. Иногда можно обойтись без них.

В этой статья я всё буду настраивать на базе дистрибутива Debian 11.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

  • Установка Debian на сервер
  • Базовая настройка Debian после установки

Далее переходим к самой настройке 1С. Если у вас нет отдельной серверной и сервера под это дело, то удобнее арендовать dedic, например, у Selectel. Для комфортной работы с 1С средней компании хватит бюджетного дедика за 5000-6000 р. в месяц. Я рекомендую устанавливать всё на гипервизор Proxmox на программный рейд mdadm, даже если у вас будет всего одна виртуальная машина. Это упрощает бэкап и перенос системы в случае необходимости. Для этого при заказе сервера в Selectel выберите соответствующий шаблон. Вручную ничего настраивать не придётся. Сразу получите установленный гипервизор Proxmox на софтовом mdadm raid1.

Установка PostgreSQL 9.4. ↑

Для корректной работы PostgreSQL в связке с 1С:Предприятие, необходимо провести ряд подготовительных процедур.

1. Для начала надо установить необходимые локали. Это и . При этом локаль должна быть выбрана по умолчанию. Отредактировать список локалей можно командой:

1

2. Затем надо установить зависимости:

1

3. К сожалению, мейнтейнеры работающие на 1С, не следят за порядком в зависимостях своих пакетов. По этой простой причине, нам надо скачать и установить пакет libicu48:

1
2

4. Так же необходимо увеличить максимальный размер сегмента памяти до 64 Мб:

1

Дабы необходимые изменения вступили в силу, вводим:

1

Тут товарищ Vasiliy P. Melnik в своем пишет, что в данной процедуре необходимости нет. Я его утверждение не проверял, но вы можете попробовать пропустить 4 пункт. А если всё таки процедура потребуется, вы можете выполнить её позже.

5. В этой статье я решил использовать версию PostgreSQL от 1С. Переходим в каталог с пакетами PostgreSQL:

1

Проверяем что есть в каталоге:

1
2
3
4
5
6
7
8
9

Всего 6 пакетов, которые и нужно установить. В каталоге addons, находятся дополнительные пакеты, их я ставить не буду.

1

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

1

Если пакеты были установлены правильно, то вы получите примерно следующее сообщение (выхлоп):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Если же вы получите сообщение похожее на это:

1
2
3
4
5

Нас интересует последняя строчка, где сообщается, что кластер PostgreSQL не обнаружен. Чтобы исправить эту ситуацию, достаточно просто перезапустить сервис PostgreSQL:

1

После чего снова проверьте статус сервиса. В итоге вы должны получить что-то похожее на первое сообщение.

6. После установки нужно еще немного подправить конфигурационный файл. Как ни странно PostgreSQL будучи установленным из пакетов 1С, содержит неправильные настройки для обработки экранирующих символов, и при создании базы выдает ошибку:

1

или

1

Чтобы избежать вышеуказанных ошибок нужно отредактировать настройки PostgreSQL:

1

Приведя нижеуказанные параметры к следующему виду:

1
2
3

Обновим конфигурацию, не перезапуская сервис:

1

7. Зададим пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под системным пользователем postgres. Итак, авторизация:

1

Переход в домашний каталог текущего пользователя:

1

Смена пароля у внутреннего пользователя PostgreSQL:

1

Где — системный пользователь от имени которого будет запущен , — внутренний пользователь БД, ну а — произвольный пароль который будет задан внутреннему пользователю БД.

Если смена пароля прошла успешно, вы должны получить сообщение:

1

Выход из окружения системного пользователя postgres:

1

8. Напоследок зафиксируем пакеты PostgreSQL, чтобы они не обновлялись из стандартных репозиториев:

1

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

1
2
3
4
5
6

На этом установка PostgreSQL закончена. Вопросы настройки и оптимизации будут рассмотрены в отдельных статьях.

Yum Installation

To use the PostgreSQL Yum Repository, follow these steps,

/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12.service
systemctl start postgresql-12.service

​​​​​​​​​​​​​​Post Installation – Configuration

cd /var/lib/psql/12/datal
vi pg_hba.conf
# IPv4 local connections:
host all all ::1/128 ident
host all all 0.0.0.0/0 trust
vi postgresql.conf
listen_addresses = ‘10.1.4.78’ # what IP address(es) to listen on;
port = 5432 # (change requires restart)
max_connections = 300 # (change requires restart)

After the configuration file is edited we must restart the service for changes replication.

Remote Access

​​​​​​​Source Installation

Step 1

Step 2

STEP 3

Place the file in /opt/source location.

# pwd
/opt/source

Unzip the tar file

# tar -zxvf postgresql-12.0.tar.gz

Step 4

# ll
drwxrwxrwx. 6 1107 1107 4096 Jan 31 14:43 postgresql-12.0
-rw-r—r—. 1 root root 26393892 Jan 31 13:01 postgresql-12.0.tar.gz
# cd postgresql-12.0/

Step 5

# ll

total 1204

drwxrwxrwx. 2 1107 1107 4096 Oct 1 01:39 config

Step 6

./configure —prefix=/var/lib/pg1sql

Step 7

make
make install

Step 8

mkdir /var/lib/data
chmod 700 /data
chown -R postgres. Data

Step 9

su — postgres
cd /var/lib/pg1sql/bin
-bash-4.2$ cd pg1sql/
-bash-4.2$ ll
drwxr-xr-x. 2 root root 4096 Jan 31 14:50 bin
-bash-4.2$ cd bin/
-bash-4.2$ ll
-rwxr-xr-x. 1 root root 142520 Jan 31 14:50 initdb

Step 10

.-bash-4.2$ ./initdb -D /var/lib/data

Step 11

-bash-4.2$ ./pg_ctl —help

pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.

Usage

pg_ctl init
pg_ctl start

pg_ctl stop
pg_ctl restart

pg_ctl reload
pg_ctl status
pg_ctl promote
pg_ctl logrotate
pg_ctl kill SIGNALNAME PID

Common options

-D, —pgdata=DATADIR location of the database storage area
-s, —silent only print errors, no informational messages
-t, —timeout=SECS seconds to wait when using -w option
-V, —version output version information, then exit
-w, —wait wait until operation completes (default)
-W, —no-wait do not wait until operation completes
-?, —help show this help, then exit

If the -D option is omitted, the environment variable PGDATA is used.

Options for stop or restart

-m, —mode=MODE MODE can be «smart», «fast», or «immediate»

Shutdown modes are,

Smart — quit after all clients have disconnected

Fast — quit directly, with proper shutdown (default)

Immediate — quit without complete shutdown; will lead to recovery on restart

Allowed signal names for kill,

ABRT HUP INT KILL QUIT TERM USR1 USR2

Step 12 — HOW TO STOP SERVICE

-bash-4.2$ pwd
/var/lib/pg1sql/bin
postgres-# \q
-bash-4.2$ ./pg_ctl -D /var/lib/data stop

waiting for the server to shut down…. done.

server stopped.

Step 13 — HOW TO START SERVICE

-bash-4.2$ ./pg_ctl -D /var/lib/data start
waiting for server to start….2020-02-03 17:57:07.810 IST LOG: starting PostgreSQL 12.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
2020-02-03 17:57:07.810 IST LOG: listening on IPv4 address «10.1.4.88», port 5432
2020-02-03 17:57:07.811 IST LOG: listening on Unix socket «/tmp/.s.PGSQL.5432»
2020-02-03 17:57:07.820 IST LOG: database system was shut down at 2020-02-03 17:54:01 IST
2020-02-03 17:57:07.826 IST LOG: database system is ready to accept connections

done.

server started.

Step 14 — HOW TO STATUS SERVICE

-bash-4.2$ ./pg_ctl -D /var/lib/data status 
pg_ctl: server is running (PID: 10281)
/var/lib/pg1sql/bin/postgres «-D» «/var/lib/data»

Step 15

postgres 7125 7124 0 14:34 pts/1 00:00:00 -bash OS LEVEL FIND OUT SERVICE STATUS
# ps -ef |grep postgres
postgres 10281 1 0 17:57 ? 00:00:00 /var/lib/pg1sql/bin/postgres -D /var/lib/data

Step 16

-bash-4.2$ ./pg_ctl -D /var/lib/data status
pg_ctl: server is running (PID: 10281)
/var/lib/pg1sql/bin/postgres «-D» «/var/lib/data»
-bash-4.2$ ./psql -p 5432
psql (12.0)

Type «help» for help.

postgres=#

Step 17

postgres=# \l

List of database,

postgres=# \dn

List of schemas,

​​​​​Post Installation – Configuration

cd /var/lib/psql/12/datal
vi pg_hba.conf
# IPv4 local connections:
host all all ::1/128 ident
host all all 0.0.0.0/0 trust
vi postgresql.conf
listen_addresses = ‘10.1.4.78’ # what IP address(es) to listen on,port = 5432 # (change requires restart)
max_connections = 300 # (change requires restart)

After the configuration file is edited we must restart the service for changes replication.

Remote Access

8: Добавление, запрос и удаление данных

Теперь попро­буй­те доба­вить в таб­ли­цу данные.

Для это­го нуж­но вызвать целе­вую таб­ли­цу, назвать столб­цы и вве­сти дан­ные, кото­рые нуж­но доба­вить. К при­ме­ру, что­бы доба­вить гор­ку (slide) и каче­ли (swing), нуж­но ввести:

Добав­ляя дан­ные в таб­ли­цу, помните:

  • Имя таб­ли­цы не нуж­но брать в кавычки.
  • Зна­че­ния столб­цов необ­хо­ди­мо взять в кавычки.
  • В стол­бец equip_id не нуж­но добав­лять дан­ные; его зна­че­ния гене­ри­ру­ют­ся автоматически.

Про­смот­ри­те добав­лен­ные данные:

Как види­те, стол­бец equip_id был запол­нен авто­ма­ти­че­ски. Что­бы уда­лить зна­че­ние (к при­ме­ру, slide), исполь­зуй­те команду:

Про­верь­те таблицу:

Мониторинг бэкапов 1С

Разберемся далее с тем, как нам мониторить бэкапы, чтобы быть уверенным в том, что у нас всё в порядке. Я тут использую многоступенчатый подход:

  1. Проверяю, что дамп 1с базы, сделанный напрямую из postgresql, завершился корректно.
  2. Слежу за экспортом в dt баз, восстановленных с дампов боевого сервера.
  3. Отправляю всё на бэкап сервер и слежу за тем, чтобы туда приехало всё, что должно приехать.

Статья уже получилась очень объемной, так что я не буду в ней раскрывать по шагам тему мониторинга, потому что всё это у меня уже описано в других статьях. Я дам на них ссылки и прокомментирую. Весь мониторинг настроен в Zabbix.

Мониторинг дампов postgresql баз делаем по аналогии с тем, как я описал мониторинг дампов mysql — https://serveradmin.ru/nastrojka-mysqldump-proverka-i-monitoring-bekapov-mysql/ Берём начало дампа и конец. Смотрим, есть ли там нужные строки, которые характеризуют корректность выполнения дампа. Если строки есть, значит всё ОК. Какие это строки, я указывал в разделе про создание дампов.

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

Информация по мониторингу бэкапов есть в моей статье — https://serveradmin.ru/monitoring-bekapov-s-pomoshhyu-zabbix/. Там рассмотрены различные подходы к этой процедуре. В рамках данной статьи я бы сделал следующие проверки:

  1. Создавал тестовый файл в директории источника бэкапов, а после передачи бэкапов на сервер для долгосрочного хранения там бы проверял, есть ли этот тестовый файл и какая у него дата создания. Его наличие и свежая дата будет означать, что процесс переноса данных прошел успешно и в запланированное время.
  2. Так же я бы следил за размером и датой создания самих дампов. Если размер ниже разумного или среднего за какой-то период, то выводил бы предупреждение.

Все это есть с примерами в статье, которую я привёл.

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

CentOS работает немного иначе, и у вас не будет root-доступа сразу после загрузки системы. Чтобы войти в систему как пользователь root, используйте команду su .

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

Шаг 1. Обновите и обновите предустановленные пакеты

В рамках следующего шага вам необходимо обновить существующие пакеты в CentOS. Для этого выполните в терминале следующую команду:

Выход:

Введите в терминале следующую команду, чтобы обновить все перечисленные пакеты:

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

Система готова с недавно обновленными пакетами. Пришло время установить PostgreSQL на ваш компьютер с CentOS.

Шаг 2. Проверьте наличие существующих версий по умолчанию

Перед любой новой установкой важно проверить доступные версии PostgreSQL по умолчанию

По умолчанию, если вы продолжите установку, команды установки установят PostgreSQL версии 10.

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

Шаг 3. Установите пакет сервера PostgreSQL

После изменения версии по умолчанию с помощью вышеупомянутой команды пришло время установить сервер PostgreSQL и клиентские пакеты.

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

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

Чтобы проверить статус службы PostgreSQL, выполните следующую команду:

Если на выходе отображается « Активен », значит, служба запущена и работает.

Шаг 4: Настройка базы данных PostgreSQL

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

Выход:

Система попросит вас ввести пароль два раза. Убедитесь, что вы ввели правильный пароль оба раза.

После установки пароля учетной записи пользователя войдите в учетную запись postgres, используя su:

Шаг 5: Создание новой роли пользователя

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

Используйте команду createuser вместе с флагом –interactive, чтобы добавить больше пользователей. Также укажите тип доступа, который вы хотите установить для них. Если вы вошли в систему с учетной записью postgres , просто введите следующее:

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

В обоих сценариях система попросит вас добавить имя роли, а также тип доступа для этого вновь созданного пользователя. Выберите между y и n для типа роли суперпользователя.

Чтобы проверить некоторые дополнительные флаги, вы всегда можете обратиться к странице руководства команды createuser .

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

Теперь, когда вы настроили PostgreSQL на своем компьютере, пришло время создать новую базу данных и добавить новые таблицы.

Доступ к приглашению PostgreSQL с новой ролью

После того, как вы добавили пользователя, очевидно, что вы захотите начать использовать PostgreSQL в своих интересах. Но прежде чем вы сможете это сделать, вам нужно будет создать пользователя с тем же именем, что и ваша роль и база данных PostgreSQL.

Если у вас нет такого доступного идентификатора пользователя, используйте команду adduser, чтобы создать нового пользователя с именем test .

Войдите в систему как новый пользователь, используя флаги -i и -u .

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

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

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

Создание новых таблиц в базе данных

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

… где table_name – желаемое имя, заданное пользователем, column_name1 , column_name2 и т. д. – это имена столбцов, col_type – это тип столбца, а field_length – размер структур данных, чтобы сделать значения более надежными.

Например, вы можете создать столовый отель со следующими столбцами:

..где имя таблицы – гостиница , а столбцы – это hotel_id , star , paint , location и date с соответствующими длинами и ограничениями столбцов.

Добавление значений в базу данных

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

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

Also, set PostgreSQL to accept remote connections

$ sudo vim /var/lib/pgsql/12/data/pg_hba.conf
# Accept from anywhere 
host all all 0.0.0.0/0 md5

# Accept from trusted subnet
host all all 192.168.5.0/24 md5

Update this as per your requirement.

Note:  METHOD can be “trust”, “reject”, “md5”, “password”, “scram-sha-256”, “gss”, “sspi”, “ident”, “peer”, “pam”, “ldap”, “radius” or “cert”.

Restart database service after committing the change.

# sudo systemctl restart postgresql-12

Demo Output:

# systemctl status postgresql-12
 postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-08-21 07:45:16 EDT; 11s ago
     Docs: https://www.postgresql.org/docs/12/static/
  Process: 10308 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 10313 (postmaster)
    Tasks: 8
   CGroup: /system.slice/postgresql-12.service
           ├─10313 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
           ├─10315 postgres: logger
           ├─10317 postgres: checkpointer
           ├─10318 postgres: background writer
           ├─10319 postgres: walwriter
           ├─10320 postgres: autovacuum launcher
           ├─10321 postgres: stats collector
           └─10322 postgres: logical replication launcher

Aug 21 07:45:16 CentOS-7 systemd: Stopped PostgreSQL 12 database server.
Aug 21 07:45:16 CentOS-7 systemd: Starting PostgreSQL 12 database server...
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.117 EDT  LOG:  starting PostgreSQL 12.4 on x86_6...64-bit
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.117 EDT  LOG:  listening on IPv4 address "0.0.0....t 5432
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.117 EDT  LOG:  listening on IPv6 address "::", port 5432
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.128 EDT  LOG:  listening on Unix socket "/var/ru....5432"
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.140 EDT  LOG:  listening on Unix socket "/tmp/.s....5432"
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.188 EDT  LOG:  redirecting log output to logging...rocess
Aug 21 07:45:16 CentOS-7 postmaster: 2020-08-21 07:45:16.188 EDT  HINT:  Future log output will appear in..."log".
Aug 21 07:45:16 CentOS-7 systemd: Started PostgreSQL 12 database server.
Hint: Some lines were ellipsized, use -l to show in full.
#

This is how to Install PostgreSQL 12 on CentOS 7 or RHEL 7. Now let’s see how to troubleshoot PostgreSQL installation.

3: Роли и базы данных PostgreSQL

По умол­ча­нию PostgreSQL исполь­зу­ет так назы­ва­е­мые роли. Они чем-то похо­жи на учёт­ные запи­си поль­зо­ва­те­лей или груп­пы Unix-подоб­ных систем. Толь­ко PostgreSQL не раз­ли­ча­ет поль­зо­ва­те­лей и груп­пы, она объ­еди­ня­ет их под поня­ти­ем «роли».

Во вре­мя уста­нов­ки PostgreSQL исполь­зу­ет модель аутен­ти­фи­ка­ции ident, кото­рая свя­зы­ва­ет роли PostgreSQL со стан­дарт­ны­ми поль­зо­ва­те­ля­ми Unix/Linux. Открыть суще­ству­ю­щую роль мож­но при помо­щи свя­зан­ной с ней учёт­ной запи­си Linux.

Во вре­мя уста­нов­ки был создан Linux-поль­зо­ва­тель postgres, кото­рый свя­зан со стан­дарт­ной ролью систе­мы. Мож­но исполь­зо­вать этот акка­унт, что­бы под­клю­чить­ся к Postgres.

Суще­ству­ет несколь­ко спо­со­бов полу­чить доступ к PostgreSQL при помо­щи это­го аккаунта.

Поль­зо­ва­тель postgres

Что­бы перей­ти в сес­сию поль­зо­ва­те­ля postgres, введите:

Что­бы полу­чить доступ к команд­ной стро­ке, введите:

Коман­да выпол­нит вход и откро­ет доступ к управ­ле­нию СУБД.

Что­бы закрыть команд­ную стро­ку PostgreSQL, наберите:

Это вер­нёт команд­ную стро­ку Linux. Что­бы вер­нуть­ся в сес­сию обыч­но­го поль­зо­ва­те­ля sudo, введите:

Пря­мой доступ к команд­ной стро­ке PostgreSQL

Мож­но так­же полу­чить доступ к команд­ной стро­ке PostgreSQL, не изме­няя при этом сес­сии поль­зо­ва­те­ля. Для это­го нужен доступ к коман­де sudo.

В послед­нем при­ме­ре вам было пред­ло­же­но перей­ти к команд­ной стро­ке Postgres, сна­ча­ла пере­клю­чив­шись на поль­зо­ва­те­ля postgres, а затем запу­стив psql. Что­бы полу­чить доступ к команд­ной стро­ке Postgres за один шаг, запу­сти­те коман­ду psql как поль­зо­ва­тель postgres с пра­ва­ми sudo:

Эта коман­да выпол­нит авто­ма­ти­че­ский вход в PostgreSQL без про­ме­жу­точ­ной обо­лоч­ки bash.

Что­бы закрыть эту команд­ную стро­ку, введите:

Steps To Install PostgreSQL 15 on Centos 7

To complete this guide, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide on Initial Server Setup with Centos 7.

Set up PostgreSQL 15 on Centos 7

To install PostgreSQL 15, you must add the PostgreSQL 15 repository on your server.

First, install Epel Repository on Centos 7 by using the command below:

Then, install the required packages:

Add PostgreSQL 15 Repository on Centos 7

At this point, you can use the command below to add the latest PostgreSQL repository on your server:

Then, update your local package index with the following command:

Install PostgreSQL 15 on Centos 7

First, you need to install Epel Repo

At this point, you can use the following command to install PostgreSQL 15 on your Centos 7 server:

when your installation is completed, verify it by checking its version:

In your output you will see:

Initialize PostgreSQL 15 Database

At this point, you need to initialize the initdb database which is responsible for creating a new PostgreSQL cluster. A cluster is a group or collection of several databases that are managed by a cluster.

To do this, run the following command:

When it is finished, you will get the following output:

Manage PostgreSQL 15 Service

At this point, you can start and enable your PostgreSQL 15 on Centos 7. To do this, run the commands below:

Verify your PostgreSQL 15 is active and running on your server with the command below:

Connect To PostgreSQL 15 Shell on Centos 7

PostgreSQL uses a concept called roles to handle authentication and authorization.

During the PostgreSQL installation, Postgres is set up to use ident authentication, meaning that it associates Postgres roles with a matching Unix/Linux system account.

If a role exists within Postgres, a Unix/Linux username with the same name is able to sign in as that role.

One way is to switch over to the Postgres account on your server by running the following command:

You can access the Postgres 15 shell on Centos 7 by running the following command:

With this command, you will see that your shell prompt changes to:

To exit from the PostgreSQL 15 shell on Centos 7, run the following command:

With this command, you will be back to the Postgres Linux command prompt.

You can type exit to return to the regular system user.

Also, you can connect to your Postgres shell on Centos 7 in another way by typing the following command:

In this way, you will directly connect to your PostgreSQL 15 shell.

Create a new PostgreSQL 15 Role

At this point, you can create a new Postgres role in two ways.

First, if you are logged in as a Postgres account, you can use the following command:

Second, you can use sudo for each command without switching from your normal account on Centos 7:

Both ways will be asked to enter your role name and whether the new role is a superuser or not.

Create a new PostgreSQL 15 Database

The Postgres authentication system for any role used to log in, the role should have a database with the same name which it can access.

If you logged in as the Postgres account, run the following command to create the database with the name of the role you have created in the previous step:

Or you can use sudo to create the database on Centos 7:

Open the Postgres 15 Shell with the new Role

At this point, you need to create a Linux user with the same name as your Postgres role and database. To do this, run the following command:

Now you can connect to the Postgres database with the following commands:

Or you can use the following command instead:

When you have logged in to your PostgreSQL database on Centos 7, you can check your current connection information by running the following command:

In your output you will see:

For more information, you can visit the PostgreSQL Documentation page.

At this point, you have learned to Install PostgreSQL 15 on Centos 7.

Hope you enjoy it.

You may be like these articles:

Шаг 7 — Создание и удаление таблиц

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

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

Базовый синтаксис этой команды выглядит следующим образом:

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

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

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

Для двух из столбцов ( и ) команда не указывает длину поля. Это объясняется тем, что некоторые типы столбцов не требуют указания длины, поскольку длина подразумевается в зависимости от типа значения.

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

Вы можете просмотреть вашу новую таблицу, введя следующую команду:

В результате мы получаем следующий вывод:

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

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

В результате вы получите следующее:

На этом шаге мы создали образец таблицы. На следующем шаге мы попробуем добавить, запросить и удалить элементы в таблице.

Заключение

В дополнение к данной статье будет полезна ссылка на публикацию баз 1С без графического окружения. В примере используется операционная система Centos, но для нашего случая с Debian всё будет аналогично практически один в один. Только веб сервер называется по-разному — там httpd, а здесь apache2.

Вообще, посмотрев на всё настроенное выше, может возникнуть вопрос, зачем вообще все это делать у себя? Нужно железо, администратор с хорошей квалификацией, который сможет всё это настроить и поддерживать. Проще купить готовый сервис и платить абонентскую плату. А всё остальное возьмет на себя сервис. На практике не всегда это получается удобнее и дешевле. С бэкапами и их проверкой всё равно придётся решать вопрос самостоятельно, потому что полностью доверить его людям со стороны может быть опасно.

Онлайн курcы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ.

Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.
Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: