Перейти к основному содержимому

Подготовка виртуальной машины к прохождению курса

В рамках курса лабораторные работы выполняются на виртуальной машине с операционной системой РЕД ОС (x86_64). В данном разделе мы настраиваем ВМ для дальнейшей работы.

  1. Скачайте и установите ОС с официального сайта:

    Установка ОС

  2. Установите Oracle VirtualBox:

    Установка Oracle VirtualBox

  3. Установите WinCP (опционально, можно использовать любой другой аналог данного SCP-клиента для удобного и защищенного копирования файлов между локальной памятью и памятью сервера):

    Установка WinCP

  4. Скачайте с официального сайта SSH-клиент Termius.

  5. Скачайте пробную версию Standard-дистрибутива Pangolin после регистрации на сайте.

Создание виртуальной машины​

  1. Создайте виртуальную машину с ОС РЕДОС. В качестве конфигурации сервера установите "минимальную":

    Создание виртуальной машины

    Подготовка виртуальной машины

    Заключительный этап подготовки

  2. Настройте созданную виртуальную машину:

    Настройка виртуальной машины

    Следующий этап настройки виртуальной машины

  3. В результате параметры виртуальной машины должны принять следующий вид:

    Параметры виртуальной машины

  4. После запуска виртуальной машины будет предложено установить ОС РЕДОС.

    Установка РЕДОС

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

    Выбор программ

  5. Для подключения к виртуальной машине через терминал важно разрешить подключение по SSH:

    Разрешение подключения по SSH

Работа с ВМ в Termius​

  1. В рамках курса мы работаем с Termius. Для подключения к ВМ через внешние средства в нашем случае Termius, необходимо создать новое локальное подключение, используя IP-адрес виртуальной машины:

    Консоль Termius

  2. Добавьте новый узел в Termius:

    Добавление нового узла

Установка и начальная настройка Pangolin​

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

  • CPU: 2
  • MEM: 8 GB
  • HDD: 30 GB
  • OS: REDOS 8.0 minimal
[UserName@ServerName ~]$ cat /etc/*-release
NAME="RED OS"
VERSION="8.0"
PLATFORM_ID="platform:red80"
ID="redos"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.0"
PRETTY_NAME="RED OS 8.0"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redos:redos:8"
HOME_URL="https://redos.red-soft.ru"
BUG_REPORT_URL="https://support.red-soft.ru"
EDITION="Standard"

RED OS release (8.0) MINIMAL
RED OS release (8.0) MINIMAL
RED OS release (8.0) MINIMAL
[UserName@ServerName ~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
CPU family: 6
Model: 63
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Stepping: 2
BogoMIPS: 4999.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_ts c cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 movbe popcnt aes rdrand hypervisor lahf_lm abm pti fsgsbase bmi1 bmi2 invpcid arat md_clear flush_l1d
arch_capabilities
Virtualization features:
Hypervisor vendor: KVM
Virtualization type: full
Caches (sum of all):
L1d: 64 KiB (2 instances)
L1i: 64 KiB (2 instances)
L2: 512 KiB (2 instances)
L3: 60 MiB (2 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0,1
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Mitigation; PTE Inversion
Mds: Mitigation; Clear CPU buffers; SMT Host state unknown
Meltdown: Mitigation; PTI
Mmio stale data: Mitigation; Clear CPU buffers; SMT Host state unknown
Reg file data sampling: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Retpoline
Srbds: Not affected
Tsx async abort: Not affected
[UserName@ServerName ~]$ free
total used free shared buff/cache available
Mem: 8133840 418464 7789088 2988 124360 7715376
Swap: 11279352 0 11279352
[UserName@ServerName ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 3.0M 1.6G 1% /run
/dev/sda4 26G 2.0G 23G 8% /
tmpfs 3.9G 0 3.9G 0% /tmp
/dev/sda2 974M 160M 747M 18% /boot
tmpfs 795M 0 795M 0% /run/user/0
[UserName@ServerName ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 3G 0 part [SWAP]
└─sda4 8:4 0 26G 0 part /
sr0 11:0 1 1024M 0 rom
zram0 252:0 0 7.8G 0 disk [SWAP]

Установка пакетов​

Установите пакет unzip:

[UserName@ServerName Distr]$ sudo dnf -y install unzip
Last metadata expiration check: 0:10:16 ago on Thu 27 Mar 2025 12:44:17 PM MSK.
Dependencies resolved.
=================================================================================================================================================================================================== Package Architecture Version Repository Size
===================================================================================================================================================================================================Installing:
unzip x86_64 6.0-54.red80 base 180 k

Transaction Summary
===================================================================================================================================================================================================Install 1 Package

Total download size: 180 k
Installed size: 392 k
Downloading Packages:
unzip-6.0-54.red80.x86_64.rpm 1.7 MB/s | 180 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total 1.6 MB/s | 180 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : unzip-6.0-54.red80.x86_64 1/1
Running scriptlet: unzip-6.0-54.red80.x86_64 1/1
Verifying : unzip-6.0-54.red80.x86_64 1/1

Installed:
unzip-6.0-54.red80.x86_64

Complete!

Копирование дистрибутива на сервер​

Скопируйте дистрибутив с лицензией на сервер (любым доступным способом). В рамках курса мы воспользуемся SCP-клиентом WinSCP:

[UserName@ServerName ~]$ mkdir Distr
[UserName@ServerName ~]$ cd Distr/
[UserName@ServerName Distr]$ ls -la
total 749836
drwxr-xr-x. 2 UserName UserName 4096 Mar 27 12:49 .
drwx------. 3 UserName UserName 4096 Mar 27 12:35 ..
-rw-r--r--. 1 UserName UserName 500 Feb 7 20:07 license_trial_202505.json
-rw-r--r--. 1 UserName UserName 767811775 Feb 8 17:47 PSQ-6.7.0-28-redos8-distrib.zip
[UserName@ServerName Distr]$

Установка дистрибутива​

Сведения

Курс разработан с использованием СУБД Pangolin версии 6.7.0.

  1. Распакуйте архив с дистрибутивом:

    [UserName@ServerName Distr]$ unzip PSQ-6.7.0-redos8-distrib.zip
    Archive: PSQ-6.7.0-redos8-distrib.zip
    inflating: PSQ-6.7.0-redos8-cyclonedx-distrib.json
    inflating: PSQ-6.7.0-redos8-documentation-distrib.pom
    inflating: PSQ-6.7.0-redos8-documentation-distrib.zip
    inflating: PSQ-6.7.0-redos8-installer-distrib.pom
    inflating: PSQ-6.7.0-redos8-installer-distrib.zip
    inflating: PSQ-6.7.0-redos8-owned-distrib.pom
    inflating: PSQ-6.7.0-redos8-owned-distrib.zip
    inflating: PSQ-6.7.0-redos8-party-distrib.pom
    inflating: PSQ-6.7.0-redos8-party-distrib.zip
    inflating: PSQ-6.7.0-redos8-swidtag-distrib.swidtag
    inflating: PSQ-6.7.0-redos8-unpacker-distrib.sh
    [UserName@ServerName Distr]$ bash PSQ-6.7.0-redos8-unpacker-distrib.sh
    start
    ~/Distr/distributive ~/Distr
    successful completion: PSQ-6.7.0-distrib.tar.gz
    ~/Distr
    [UserName@ServerName Distr]$ tar xf PSQ-6.7.0-distrib.tar.gz
    [UserName@ServerName Distr]$ ls -la
    total 2296824
    drwxr-xr-x. 9 UserName UserName 4096 Mar 27 13:01 .
    drwx------. 3 UserName UserName 4096 Mar 27 12:35 ..
    drwxr-xr-x. 2 UserName UserName 4096 Mar 27 12:55 3rdparty
    drwxr-xr-x. 3 UserName UserName 4096 Jan 26 15:22 debug
    drwxr-xr-x. 3 UserName UserName 4096 Jan 27 09:26 documentation
    drwxr-xr-x. 12 UserName UserName 4096 Jan 26 15:21 installer
    -rw-r--r--. 1 UserName UserName 500 Feb 7 20:07 license_trial_202505.json
    -rw-r--r--. 1 UserName UserName 6633335 Jan 26 14:58 pangolin-backup-tools-1.2.2-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 18063392 Jan 26 14:53 pangolin-dbms-6.7-6.7.0-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 2132717 Jan 26 14:53 pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 333949 Jan 26 14:53 pangolin-dbms-6.7-libpq-6.7.0-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 9932 Jan 26 14:53 pangolin-dbms-6.7-libpq-dev-6.7.0-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 16639265 Jan 26 15:16 pangolin-manager-2.1.5-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 687927 Jan 26 14:42 pangolin-pooler-1.4.1-redos8.0.x86_64.rpm
    -rw-r--r--. 1 UserName UserName 765651986 Mar 27 12:57 PSQ-6.7.0-distrib.tar.gz
    -rw-r--r--. 1 UserName UserName 54033 Jan 27 09:29 PSQ-6.7.0-28-redos8-cyclonedx-distrib.json
    -rw-r--r--. 1 UserName UserName 767811775 Feb 8 17:47 PSQ-6.7.0-28-redos8-distrib.zip
    -rw-r--r--. 1 UserName UserName 2442 Jan 27 09:29 PSQ-6.7.0-28-redos8-documentation-distrib.pom
    -rw-r--r--. 1 UserName UserName 207423820 Jan 27 09:27 PSQ-6.7.0-28-redos8-documentation-distrib.zip
    -rw-r--r--. 1 UserName UserName 2438 Jan 27 09:28 PSQ-6.7.0-28-redos8-installer-distrib.pom
    -rw-r--r--. 1 UserName UserName 23780942 Jan 27 09:28 PSQ-6.7.0-28-redos8-installer-distrib.zip
    -rw-r--r--. 1 UserName UserName 2389 Jan 27 09:28 PSQ-6.7.0-28-redos8-owned-distrib.pom
    -rw-r--r--. 1 UserName UserName 199056837 Jan 27 09:28 PSQ-6.7.0-28-redos8-owned-distrib.zip
    -rw-r--r--. 1 UserName UserName 2383 Jan 27 09:28 PSQ-6.7.0-28-redos8-party-distrib.pom
    -rw-r--r--. 1 UserName UserName 343554642 Jan 27 09:28 PSQ-6.7.0-28-redos8-party-distrib.zip
    -rw-r--r--. 1 UserName UserName 4192 Jan 27 09:29 PSQ-6.7.0-28-redos8-swidtag-distrib.swidtag
    -rw-r--r--. 1 UserName UserName 1692 Jan 27 09:29 PSQ-6.7.0-28-redos8-unpacker-distrib.sh
    -rw-r--r--. 1 UserName UserName 4192 Mar 27 12:56 regid.2011-07.ru.sbertech_psq-6.7.0.swidtag
    drwxr-xr-x. 3 UserName UserName 4096 Jan 26 15:22 repositories
    drwxr-xr-x. 2 UserName UserName 4096 Jan 26 15:22 timescaledb
    drwxr-xr-x. 3 UserName UserName 4096 Jan 26 15:22 utilities
  2. Установите пакеты с сервером и клиентом Pangolin:

    [UserName@ServerName Distr]$ sudo dnf -y install pangolin-dbms-6.7-6.7.0-redos8.0.x86_64.rpm
    Last metadata expiration check: 0:19:24 ago on Thu 27 Mar 2025 12:44:17 PM MSK.
    Dependencies resolved.
    =================================================================================================================================================================================================== Package Architecture Version Repository Size
    ===================================================================================================================================================================================================Installing:
    pangolin-dbms-6.7 x86_64 6.7.0-redos8.0 @commandline 17 M
    Installing dependencies:
    jsoncpp x86_64 1.9.5-1.red80 base 97 k
    libXft x86_64 2.3.3-8.red80 base 61 k
    libXrender x86_64 0.9.10-16.red80 base 26 k
    libicu x86_64 71.1-1.red80 base 10 M
    libpkgconf x86_64 1.9.5-4.red80 updates 37 k
    logrotate x86_64 3.22.0-1.red80 updates 78 k
    openssl x86_64 1:3.1.5-5.red80 updates 1.2 M
    pkgconf x86_64 1.9.5-4.red80 updates 42 k
    pkgconf-m4 noarch 1.9.5-4.red80 updates 13 k
    pkgconf-pkg-config x86_64 1.9.5-4.red80 updates 8.6 k
    python3.9 x86_64 3.9.21-2.red80 updates 18 M
    tk x86_64 1:8.6.12-1.red80 base 1.6 M
    uuid x86_64 1.6.2-52.red80 base 57 k

    Transaction Summary
    ===================================================================================================================================================================================================Install 14 Packages

    Total size: 49 M
    Total download size: 31 M
    Installed size: 208 M
    Downloading Packages:
    (1/13): libXft-2.3.3-8.red80.x86_64.rpm 281 kB/s | 61 kB 00:00
    (2/13): libXrender-0.9.10-16.red80.x86_64.rpm 115 kB/s | 26 kB 00:00
    (3/13): jsoncpp-1.9.5-1.red80.x86_64.rpm 326 kB/s | 97 kB 00:00
    (4/13): uuid-1.6.2-52.red80.x86_64.rpm 487 kB/s | 57 kB 00:00
    (5/13): libpkgconf-1.9.5-4.red80.x86_64.rpm 311 kB/s | 37 kB 00:00
    (6/13): logrotate-3.22.0-1.red80.x86_64.rpm 506 kB/s | 78 kB 00:00
    (7/13): tk-8.6.12-1.red80.x86_64.rpm 2.5 MB/s | 1.6 MB 00:00
    (8/13): pkgconf-1.9.5-4.red80.x86_64.rpm 255 kB/s | 42 kB 00:00
    (9/13): openssl-3.1.5-5.red80.x86_64.rpm 2.6 MB/s | 1.2 MB 00:00
    (10/13): pkgconf-m4-1.9.5-4.red80.noarch.rpm 98 kB/s | 13 kB 00:00
    (11/13): pkgconf-pkg-config-1.9.5-4.red80.x86_64.rpm 109 kB/s | 8.6 kB 00:00
    (12/13): libicu-71.1-1.red80.x86_64.rpm 2.9 MB/s | 10 MB 00:03
    (13/13): python3.9-3.9.21-2.red80.x86_64.rpm 3.3 MB/s | 18 MB 00:05
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total 4.7 MB/s | 31 MB 00:06
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
    Preparing : 1/1
    Installing : pkgconf-m4-1.9.5-4.red80.noarch 1/14
    Installing : openssl-1:3.1.5-5.red80.x86_64 2/14
    Running scriptlet: logrotate-3.22.0-1.red80.x86_64 3/14
    Installing : logrotate-3.22.0-1.red80.x86_64 3/14
    Running scriptlet: logrotate-3.22.0-1.red80.x86_64 3/14
    Created symlink /etc/systemd/system/timers.target.wants/logrotate.timer → /usr/lib/systemd/system/logrotate.timer.

    Installing : libpkgconf-1.9.5-4.red80.x86_64 4/14
    Installing : pkgconf-1.9.5-4.red80.x86_64 5/14
    Installing : pkgconf-pkg-config-1.9.5-4.red80.x86_64 6/14
    Installing : uuid-1.6.2-52.red80.x86_64 7/14
    Installing : libicu-71.1-1.red80.x86_64 8/14
    Installing : libXrender-0.9.10-16.red80.x86_64 9/14
    Installing : libXft-2.3.3-8.red80.x86_64 10/14
    Running scriptlet: tk-1:8.6.12-1.red80.x86_64 11/14
    Installing : tk-1:8.6.12-1.red80.x86_64 11/14
    Installing : python3.9-3.9.21-2.red80.x86_64 12/14
    Installing : jsoncpp-1.9.5-1.red80.x86_64 13/14
    Running scriptlet: pangolin-dbms-6.7-6.7.0-redos8.0.x86_64 14/14
    Create group pangolin_users with gid=226
    usermod: user 'postgres' does not exist
    Create group postgres with gid=26
    Create user postgres with uid=26
    usermod: user 'kmadmin_pg' does not exist
    Create group kmadmin_pg with gid=126
    Create user kmadmin_pg with uid=126

    Installing : pangolin-dbms-6.7-6.7.0-redos8.0.x86_64 14/14
    Running scriptlet: pangolin-dbms-6.7-6.7.0-redos8.0.x86_64 14/14
    Config /etc/man_db.conf was updated
    ecpg-man auto /usr/pangolin-major.minor/share/man/man1/ecpg.1.gz
    initprotection auto /usr/pangolin-major.minor/bin/initprotection
    postmaster auto /usr/pangolin-major.minor/bin/postmaster
    pg_controldata auto /usr/pangolin-major.minor/bin/pg_controldata
    pg_ctl-man auto /usr/pangolin-major.minor/share/man/man1/pg_ctl.1.gz
    pax auto /usr/bin/spax
    pg_upgrade auto /usr/pangolin-major.minor/bin/pg_upgrade
    postmaster-man auto /usr/pangolin-major.minor/share/man/man1/postmaster.1.gz
    ld auto /usr/bin/ld.bfd
    pg_repack auto /usr/pangolin-major.minor/bin/pg_repack
    libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit-trust.so
    pg_test_timing auto /usr/pangolin-major.minor/bin/pg_test_timing
    arptables auto /usr/sbin/arptables-nft
    pg_resetwal auto /usr/pangolin-major.minor/bin/pg_resetwal
    oid2name-man auto /usr/pangolin-major.minor/share/man/man1/oid2name.1.gz
    pg_rewind auto /usr/pangolin-major.minor/bin/pg_rewind
    trace_decode auto /usr/pangolin-major.minor/bin/trace_decode
    print auto /usr/bin/lpr.cups
    cifs-idmap-plugin auto /usr/lib64/cifs-utils/cifs_idmap_sss.so
    pg_upgrade-man auto /usr/pangolin-major.minor/share/man/man1/pg_upgrade.1.gz
    pg_archivecleanup-man auto /usr/pangolin-major.minor/share/man/man1/pg_archivecleanup.1.gz
    pg_waldump-man auto /usr/pangolin-major.minor/share/man/man1/pg_waldump.1.gz
    iptables auto /usr/sbin/iptables-nft
    pkcs12_cert_info auto /usr/pangolin-major.minor/bin/pkcs12_cert_info
    vacuumlo auto /usr/pangolin-major.minor/bin/vacuumlo
    postgres auto /usr/pangolin-major.minor/bin/postgres
    ecpg auto /usr/pangolin-major.minor/bin/ecpg
    ebtables auto /usr/sbin/ebtables-nft
    vacuumlo-man auto /usr/pangolin-major.minor/share/man/man1/vacuumlo.1.gz
    man auto /usr/bin/man.man-db
    pg_test_timing-man auto /usr/pangolin-major.minor/share/man/man1/pg_test_timing.1.gz
    psql_set_lsn auto /usr/pangolin-major.minor/bin/psql_set_lsn
    pg_controldata-man auto /usr/pangolin-major.minor/share/man/man1/pg_controldata.1.gz
    pg_resetwal-man auto /usr/pangolin-major.minor/share/man/man1/pg_resetwal.1.gz
    soelim auto /usr/bin/soelim.groff
    pg_auth_config auto /usr/pangolin-major.minor/bin/pg_auth_config
    pg_ctl auto /usr/pangolin-major.minor/bin/pg_ctl
    pg_waldump auto /usr/pangolin-major.minor/bin/pg_waldump
    mailx auto /usr/bin/mailx.mailx
    psql_rsa_verify auto /usr/pangolin-major.minor/bin/psql_rsa_verify
    pg_config auto /usr/pangolin-major.minor/bin/pg_config
    postgres-man auto /usr/pangolin-major.minor/share/man/man1/postgres.1.gz
    pg_test_fsync-man auto /usr/pangolin-major.minor/share/man/man1/pg_test_fsync.1.gz
    pg_test_fsync auto /usr/pangolin-major.minor/bin/pg_test_fsync
    pg_checksums-man auto /usr/pangolin-major.minor/share/man/man1/pg_checksums.1.gz
    initdb auto /usr/pangolin-major.minor/bin/initdb
    mta auto /usr/bin/esmtp-wrapper
    oid2name auto /usr/pangolin-major.minor/bin/oid2name
    pg_checksums auto /usr/pangolin-major.minor/bin/pg_checksums
    initdb-man auto /usr/pangolin-major.minor/share/man/man1/initdb.1.gz
    pg_auth_password auto /usr/pangolin-major.minor/bin/pg_auth_password
    pg_archivecleanup auto /usr/pangolin-major.minor/bin/pg_archivecleanup
    pg_rewind-man auto /usr/pangolin-major.minor/share/man/man1/pg_rewind.1.gz
    pg_config-man auto /usr/pangolin-major.minor/share/man/man1/pg_config.1.gz

    Verifying : jsoncpp-1.9.5-1.red80.x86_64 1/14
    Verifying : libXft-2.3.3-8.red80.x86_64 2/14
    Verifying : libXrender-0.9.10-16.red80.x86_64 3/14
    Verifying : libicu-71.1-1.red80.x86_64 4/14
    Verifying : tk-1:8.6.12-1.red80.x86_64 5/14
    Verifying : uuid-1.6.2-52.red80.x86_64 6/14
    Verifying : libpkgconf-1.9.5-4.red80.x86_64 7/14
    Verifying : logrotate-3.22.0-1.red80.x86_64 8/14
    Verifying : openssl-1:3.1.5-5.red80.x86_64 9/14
    Verifying : pkgconf-1.9.5-4.red80.x86_64 10/14
    Verifying : pkgconf-m4-1.9.5-4.red80.noarch 11/14
    Verifying : pkgconf-pkg-config-1.9.5-4.red80.x86_64 12/14
    Verifying : python3.9-3.9.21-2.red80.x86_64 13/14
    Verifying : pangolin-dbms-6.7-6.7.0-redos8.0.x86_64 14/14

    Installed:
    jsoncpp-1.9.5-1.red80.x86_64 libXft-2.3.3-8.red80.x86_64 libXrender-0.9.10-16.red80.x86_64 libicu-71.1-1.red80.x86_64 libpkgconf-1.9.5-4.red80.x86_64
    logrotate-3.22.0-1.red80.x86_64 openssl-1:3.1.5-5.red80.x86_64 pangolin-dbms-6.7-6.7.0-redos8.0.x86_64 pkgconf-1.9.5-4.red80.x86_64 pkgconf-m4-1.9.5-4.red80.noarch
    pkgconf-pkg-config-1.9.5-4.red80.x86_64 python3.9-3.9.21-2.red80.x86_64 tk-1:8.6.12-1.red80.x86_64 uuid-1.6.2-52.red80.x86_64

    Complete!
    [UserName@ServerName Distr]$ sudo dnf -y install pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64.rpm
    Last metadata expiration check: 0:25:20 ago on Thu 27 Mar 2025 12:44:17 PM MSK.
    Dependencies resolved.
    =================================================================================================================================================================================================== Package Architecture Version Repository Size
    ===================================================================================================================================================================================================Installing:
    pangolin-dbms-6.7-client x86_64 6.7.0-redos8.0 @commandline 2.0 M

    Transaction Summary
    ===================================================================================================================================================================================================Install 1 Package

    Total size: 2.0 M
    Installed size: 11 M
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
    Preparing : 1/1
    Running scriptlet: pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64 1/1
    Installing : pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64 1/1
    Running scriptlet: pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64 1/1
    Config /etc/man_db.conf was updated
    pg_dumpall auto /usr/pangolin-dbms-client-major.minor/bin/pg_dumpall
    clusterdb-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/clusterdb.1.gz
    ecpg-man auto /usr/pangolin-major.minor/share/man/man1/ecpg.1.gz
    initprotection auto /usr/pangolin-major.minor/bin/initprotection
    postmaster auto /usr/pangolin-major.minor/bin/postmaster
    pg_controldata auto /usr/pangolin-major.minor/bin/pg_controldata
    pg_ctl-man auto /usr/pangolin-major.minor/share/man/man1/pg_ctl.1.gz
    pax auto /usr/bin/spax
    pg_verifybackup auto /usr/pangolin-dbms-client-major.minor/bin/pg_verifybackup
    pg_upgrade auto /usr/pangolin-major.minor/bin/pg_upgrade
    postmaster-man auto /usr/pangolin-major.minor/share/man/man1/postmaster.1.gz
    pg_dump auto /usr/pangolin-dbms-client-major.minor/bin/pg_dump
    pg_receivewal-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_receivewal.1.gz
    pg_amcheck auto /usr/pangolin-dbms-client-major.minor/bin/pg_amcheck
    dropdb auto /usr/pangolin-dbms-client-major.minor/bin/dropdb
    reindexdb auto /usr/pangolin-dbms-client-major.minor/bin/reindexdb
    ld auto /usr/bin/ld.bfd
    pg_repack auto /usr/pangolin-major.minor/bin/pg_repack
    libnssckbi.so.x86_64 auto /usr/lib64/pkcs11/p11-kit-trust.so
    pg_test_timing auto /usr/pangolin-major.minor/bin/pg_test_timing
    arptables auto /usr/sbin/arptables-nft
    pg_resetwal auto /usr/pangolin-major.minor/bin/pg_resetwal
    oid2name-man auto /usr/pangolin-major.minor/share/man/man1/oid2name.1.gz
    clusterdb auto /usr/pangolin-dbms-client-major.minor/bin/clusterdb
    pg_restore-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_restore.1.gz
    pg_rewind auto /usr/pangolin-major.minor/bin/pg_rewind
    trace_decode auto /usr/pangolin-major.minor/bin/trace_decode
    print auto /usr/bin/lpr.cups
    pg_restore auto /usr/pangolin-dbms-client-major.minor/bin/pg_restore
    pg_isready auto /usr/pangolin-dbms-client-major.minor/bin/pg_isready
    cifs-idmap-plugin auto /usr/lib64/cifs-utils/cifs_idmap_sss.so
    pg_upgrade-man auto /usr/pangolin-major.minor/share/man/man1/pg_upgrade.1.gz
    pg_amcheck-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_amcheck.1.gz
    pg_archivecleanup-man auto /usr/pangolin-major.minor/share/man/man1/pg_archivecleanup.1.gz
    reindexdb-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/reindexdb.1.gz
    pg_verifybackup-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_verifybackup.1.gz
    pg_waldump-man auto /usr/pangolin-major.minor/share/man/man1/pg_waldump.1.gz
    iptables auto /usr/sbin/iptables-nft
    createdb auto /usr/pangolin-dbms-client-major.minor/bin/createdb
    pkcs12_cert_info auto /usr/pangolin-major.minor/bin/pkcs12_cert_info
    pg_dump-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_dump.1.gz
    vacuumlo auto /usr/pangolin-major.minor/bin/vacuumlo
    postgres auto /usr/pangolin-major.minor/bin/postgres
    vacuumdb auto /usr/pangolin-dbms-client-major.minor/bin/vacuumdb
    ecpg auto /usr/pangolin-major.minor/bin/ecpg
    ebtables auto /usr/sbin/ebtables-nft
    vacuumlo-man auto /usr/pangolin-major.minor/share/man/man1/vacuumlo.1.gz
    man auto /usr/bin/man.man-db
    pg_test_timing-man auto /usr/pangolin-major.minor/share/man/man1/pg_test_timing.1.gz
    psql_set_lsn auto /usr/pangolin-major.minor/bin/psql_set_lsn
    dropdb-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/dropdb.1.gz
    pg_controldata-man auto /usr/pangolin-major.minor/share/man/man1/pg_controldata.1.gz
    pgbench-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pgbench.1.gz
    pg_basebackup-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_basebackup.1.gz
    vacuumdb-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/vacuumdb.1.gz
    pg_recvlogical-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_recvlogical.1.gz
    pg_resetwal-man auto /usr/pangolin-major.minor/share/man/man1/pg_resetwal.1.gz
    pg_isready-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_isready.1.gz
    soelim auto /usr/bin/soelim.groff
    pg_auth_config auto /usr/pangolin-major.minor/bin/pg_auth_config
    pg_ctl auto /usr/pangolin-major.minor/bin/pg_ctl
    pg_waldump auto /usr/pangolin-major.minor/bin/pg_waldump
    mailx auto /usr/bin/mailx.mailx
    psql auto /usr/pangolin-dbms-client-major.minor/bin/psql
    dropuser-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/dropuser.1.gz
    psql_rsa_verify auto /usr/pangolin-major.minor/bin/psql_rsa_verify
    pg_basebackup auto /usr/pangolin-dbms-client-major.minor/bin/pg_basebackup
    pg_config auto /usr/pangolin-major.minor/bin/pg_config
    pgbench auto /usr/pangolin-dbms-client-major.minor/bin/pgbench
    pg_dumpall-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/pg_dumpall.1.gz
    postgres-man auto /usr/pangolin-major.minor/share/man/man1/postgres.1.gz
    pg_test_fsync-man auto /usr/pangolin-major.minor/share/man/man1/pg_test_fsync.1.gz
    pg_test_fsync auto /usr/pangolin-major.minor/bin/pg_test_fsync
    pg_checksums-man auto /usr/pangolin-major.minor/share/man/man1/pg_checksums.1.gz
    initdb auto /usr/pangolin-major.minor/bin/initdb
    mta auto /usr/bin/esmtp-wrapper
    pg_receivewal auto /usr/pangolin-dbms-client-major.minor/bin/pg_receivewal
    createuser-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/createuser.1.gz
    pg_recvlogical auto /usr/pangolin-dbms-client-major.minor/bin/pg_recvlogical
    oid2name auto /usr/pangolin-major.minor/bin/oid2name
    psql-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/psql.1.gz
    pg_checksums auto /usr/pangolin-major.minor/bin/pg_checksums
    createuser auto /usr/pangolin-dbms-client-major.minor/bin/createuser
    dropuser auto /usr/pangolin-dbms-client-major.minor/bin/dropuser
    initdb-man auto /usr/pangolin-major.minor/share/man/man1/initdb.1.gz
    pg_auth_password auto /usr/pangolin-major.minor/bin/pg_auth_password
    pg_archivecleanup auto /usr/pangolin-major.minor/bin/pg_archivecleanup
    createdb-man auto /usr/pangolin-dbms-client-major.minor/share/man/man1/createdb.1.gz
    pg_rewind-man auto /usr/pangolin-major.minor/share/man/man1/pg_rewind.1.gz
    pg_config-man auto /usr/pangolin-major.minor/share/man/man1/pg_config.1.gz

    Verifying : pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64 1/1

    Installed:
    pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64

    Complete!

    Должно получиться вот так:

    [UserName@ServerName Distr]$ rpm -qa pangolin\*
    pangolin-dbms-6.7-6.7.0-redos8.0.x86_64
    pangolin-dbms-6.7-client-6.7.0-redos8.0.x86_64
  3. Подключите динамические библиотеки:

    [UserName@ServerName Distr]$ echo '/usr/pangolin/lib' | sudo tee /etc/ld.so.conf.d/pangolin.conf
    /usr/pangolin/lib
    [UserName@ServerName Distr]$ echo '/usr/pangolin-dbms-client/lib' | sudo tee -a /etc/ld.so.conf.d/pangolin.conf
    /usr/pangolin-dbms-client/lib
    [UserName@ServerName Distr]$ sudo cat /etc/ld.so.conf.d/pangolin.conf
    /usr/pangolin/lib
    /usr/pangolin-dbms-client/lib

    Проиндексировать базу динамических библиотек:

    [UserName@ServerName Distr]$ sudo ldconfig

Запуск сервера Pangolin​

  1. Создайте директории /pgdata/06/data, /pgerrorlogs/06, /opt/pangolin_license. Измените владельца директорий на postgres:postgres/:

    [UserName@ServerName Distr]$ sudo mkdir -p /pgdata/06/data /pgerrorlogs/06 /opt/pangolin_license
    [UserName@ServerName Distr]$ sudo chown -R postgres:postgres /pgdata /pgerrorlogs /opt/pangolin_license
    [UserName@ServerName Distr]$ sudo ls -ld /pgdata/06/data /pgerrorlogs/06 /opt/pangolin_license
    drwxr-xr-x. 2 postgres postgres 4096 Mar 27 13:32 /opt/pangolin_license
    drwxr-xr-x. 2 postgres postgres 4096 Mar 27 13:32 /pgdata/06/data
    drwxr-xr-x. 2 postgres postgres 4096 Mar 27 13:32 /pgerrorlogs/06
  2. Добавьте в профиль postgres переменные окружения:

    [UserName@ServerName Distr]$ sudo vi /home/postgres/.bash_profile
    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi

    # User specific environment and startup programs
    # Pangolin
    umask 022
    export LD_LIBRARY_PATH=/usr/pangolin/lib
    export PG_PLUGINS_PATH=/usr/pangolin/lib
    export PGHOME=/usr/pangolin
    export PGCLIENTENCODING=UTF8
    export CLNAME=clustername
    export PGDATA=/pgdata/06/data
    export PG_LICENSE_PATH=/opt/pangolin_license/
    export LANG=en_US.UTF-8
    export LC_ALL="en_US.UTF-8"
    export MANPATH=$MANPATH:$PGHOME/share/man
    export PATH=$PATH:/usr/pangolin/bin

    Проверьте изменения:

    [UserName@ServerName Distr]$ sudo cat /home/postgres/.bash_profile
  3. Скопируйте файл лицензии в директорию /opt/pangolin_license/. Измените владельца файла лицензии на postgres:postgres:

    [UserName@ServerName Distr]$ sudo cp ~/Distr/license_trial_202505.json /opt/pangolin_license/license.json
    [UserName@ServerName Distr]$ sudo chown -v postgres:postgres /opt/pangolin_license/license.json
    changed ownership of '/opt/pangolin_license/license.json' from root:root to postgres:postgres

Инициализация PGDATA​

Из-под пользователя postgres проинициализируйте каталог $PGDATA:

[UserName@ServerName Distr]$ sudo su - postgres
[postgres@ServerName ~]$ initdb -k
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are enabled.

fixing permissions on existing directory /pgdata/06/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ...
"/usr/pangolin-major.minor/bin/postgres" --check -F -c log_checkpoints=false -c is_initdb=true -c max_connections=100 -c shared_buffers=1000 -c dynamic_shared_memory_type=posix < "/dev/null" > "/dev/null" 2>&1
100
selecting default shared_buffers ... 128MB
selecting default time zone ... Europe/Moscow
creating configuration files ... ok
running bootstrap script ... WARNING: 01000: Force disable "enable_vault_certificates_cache" vault credentials does not exists
LOCATION: check_enable_certificates_cache, security.c:112
WARNING: 01000: Force disable "enable_vault_params_cache", vault credentials does not exists
LOCATION: check_enable_params_cache, security.c:101
2025-03-27 13:54:49.902 MSK [13545] WARNING: /usr/pangolin-major.minor/bin/postgres: Could not init KMS connection. Error: -52 (failed to lock file)
ok
performing post-bootstrap initialization ... WARNING: 01000: Force disable "enable_vault_certificates_cache" vault credentials does not exists
LOCATION: check_enable_certificates_cache, security.c:112
WARNING: 01000: Force disable "enable_vault_params_cache", vault credentials does not exists
LOCATION: check_enable_params_cache, security.c:101
2025-03-27 13:54:50.314 MSK [13547] WARNING: postgres: Could not init KMS connection. Error: -52 (failed to lock file)
sh: line 1: locale: command not found
2025-03-27 13:54:50.595 MSK [13547] WARNING: no usable system locales were found
ok
syncing data to disk ... ok

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

pg_ctl -D /pgdata/06/data -l logfile start

Конфигурация сервера​

В конец файла $PGDATA/postgresql.conf добавьте параметры:

port = 5432
max_connections = 100
superuser_reserved_connections = 3
enabled_extra_auth_methods = 'peer, trust'
listen_addresses = '*'

Запуск сервера Pangolin​

  1. Запустите сервер с записью лога в директорию /pgerrorlogs/06:

    [postgres@ServerName ~]$ pg_ctl -l /pgerrorlogs/06/pangolin-`date +%F_%T`.log start
    waiting for server to start.... done
    server started
    [postgres@ServerName ~]$ ls -la /pgerrorlogs/06/
    total 12
    drwxr-xr-x. 2 postgres postgres 4096 Mar 27 14:24 .
    drwxr-xr-x. 3 root root 4096 Mar 27 13:32 ..
    -rw-------. 1 postgres postgres 2061 Mar 27 14:24 pangolin-2025-03-27_14:24:34.log
    [postgres@ServerName ~]$ ps f -C postgres
    PID TTY STAT TIME COMMAND
    13724 ? Ss 0:00 /usr/pangolin-major.minor/bin/postgres
    13726 ? Ss 0:00 \_ postgres: checkpointer
    13727 ? Ss 0:00 \_ postgres: background writer
    13729 ? Ss 0:00 \_ postgres: idle sessions terminator
    13730 ? Ss 0:00 \_ postgres: walwriter
    13731 ? Ss 0:00 \_ postgres: autovacuum launcher
    13732 ? Ss 0:00 \_ postgres: autounite launcher
    13733 ? Ss 0:00 \_ postgres: integrity check launcher
    13734 ? Ss 0:00 \_ postgres: license checker
    13735 ? Ss 0:00 \_ postgres: logical replication launcher
    [postgres@ServerName ~]$ psql
    psql (15.5)
    Type "help" for help.
    postgres=# select product_version();
    product_version
    ---------------------------
    Platform V Pangolin 6.7.0
    (1 row)
    postgres=# \q
  2. Остановите сервер:

    [postgres@ServerName ~]$ pg_ctl stop
    waiting for server to shut down.... done
    server stopped

Сервис systemd для Pangolin​

  1. Создайте сервис systemd для управления экземпляром PostgreSQL:

    [UserName@ServerName Distr]$ sudo vi /etc/systemd/system/postgresql.service
    [Unit]
    Description=Runners PostgreSQL service
    After=syslog.target network.target
    [Service]
    Type=notify
    Environment="PG_LICENSE_PATH=/opt/pangolin_license"
    Environment="PG_PLUGINS_PATH=/usr/pangolin-6/lib"
    Environment="PGCTLTIMEOUT=120"
    Environment="LD_LIBRARY_PATH=/usr/pangolin-6/lib"
    LimitNOFILE=65536
    # Pre-commands to start watchdog device
    User=postgres
    Group=postgres
    PermissionsStartOnly=true
    ExecStartPre=/bin/mkdir -p /var/run/postgresql
    ExecStartPre=/bin/chown -R postgres:postgres /var/run/postgresql
    ExecReload=/bin/kill -HUP $MAINPID
    WorkingDirectory=/usr/pangolin-6
    ExecStart=/bin/bash -i -c "/usr/pangolin-6/bin/postgres -D /pgdata/06/data"
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target

    Проверьте изменения:

    [UserName@ServerName Distr]$ cat /etc/systemd/system/postgresql.service
  2. Перечитайте конфигурацию systemd:

    [UserName@ServerName Distr]$ sudo systemctl daemon-reload

    Проверьте, что юнит существует:

    [UserName@ServerName Distr]$ sudo systemctl list-unit-files | grep postgresql
    postgresql.service disabled disabled
  3. Включите автозапуск сервиса:

    [UserName@ServerName Distr]$ sudo systemctl enable postgresql
    Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /etc/systemd/system/postgresql.service.
  4. Запуск сервера Pangolin:

    [UserName@ServerName ~]$ sudo systemctl start postgresql
    [UserName@ServerName ~]$ sudo systemctl status postgresql
    ● postgresql.service - Runners PostgreSQL service
    Loaded: loaded (/etc/systemd/system/postgresql.service; enabled; preset: disabled)
    Active: active (running) since Thu 2025-03-27 15:23:26 MSK; 3s ago
    Process: 14562 ExecStartPre=/bin/mkdir -p /var/run/postgresql (code=exited, status=0/SUCCESS)
    Process: 14563 ExecStartPre=/bin/chown -R postgres:postgres /var/run/postgresql (code=exited, status=0/SUCCESS)
    Main PID: 14564 (postgres)
    Tasks: 10 (limit: 9499)
    Memory: 29.4M
    CPU: 227ms
    CGroup: /system.slice/postgresql.service
    ├─14564 /usr/pangolin-6/bin/postgres -D /pgdata/06/data
    ├─14581 "postgres: checkpointer "
    ├─14582 "postgres: background writer "
    ├─14584 "postgres: idle sessions terminator "
    ├─14585 "postgres: walwriter "
    ├─14586 "postgres: autovacuum launcher "
    ├─14587 "postgres: autounite launcher "
    ├─14588 "postgres: integrity check launcher "
    ├─14589 "postgres: license checker "
    └─14590 "postgres: logical replication launcher "

    Mar 27 15:23:26 ServerName bash[14564]: 2025-03-27 15:23:26.830 MSK [14564] LOG: listening on IPv4 address "0.0.0.0", port 5432
    Mar 27 15:23:26 ServerName bash[14564]: 2025-03-27 15:23:26.830 MSK [14564] LOG: listening on IPv6 address "::", port 5432
    Mar 27 15:23:26 ServerName bash[14564]: 2025-03-27 15:23:26.836 MSK [14564] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
    Mar 27 15:23:26 ServerName bash[14583]: 2025-03-27 15:23:26.854 MSK [14583] LOG: database system was shut down at 2025-03-27 15:23:20 MSK
    Mar 27 15:23:26 ServerName bash[14584]: 2025-03-27 15:23:26.854 MSK [14584] LOG: idle terminator started
    Mar 27 15:23:26 ServerName bash[14588]: 2025-03-27 15:23:26.891 MSK [14564] LOG: Start integrity check launcher
    Mar 27 15:23:26 ServerName bash[14564]: 2025-03-27 15:23:26.892 MSK [14564] LOG: database system is ready to accept connections
    Mar 27 15:23:26 ServerName bash[14588]: 2025-03-27 15:23:26.893 MSK [14588] LOG: Start of integrity check
    Mar 27 15:23:26 ServerName bash[14589]: 2025-03-27 15:23:26.894 MSK [14589] LOG: License checker started
    Mar 27 15:23:26 ServerName systemd[1]: Started postgresql.service - Runners PostgreSQL service.
  5. Проверьте запуск psql:

    [UserName@ServerName ~]$ sudo su - postgres
    [postgres@ServerName ~]$ psql
    psql (15.5)
    Type "help" for help.
    postgres=# select product_version();
    product_version
    ---------------------------
    Platform V Pangolin 6.7.0
    (1 row)
    postgres=# \q

Настройка .psqlrc​

Для более удобного вывода в консоли отредактируйте .psqlrc:

[postgres@ServerName ~]$ vi ~/.psqlrc
\pset pager on
\setenv PAGER 'less -S'
\pset border 2
\pset linestyle unicode
\set PROMPT1 '%n@%/%=# '

Перезагрузите сервер:

[UserName@ServerName ~]$ sudo systemctl restart postgresql

Пример удобного для работы вывода:

[postgres@ServerName ~]$ psql
Pager is used for long output.
Border style is 2.
Line style is unicode.
psql (15.5)
Type "help" for help.
postgres@postgres=# \dg
List of roles
┌───────────┬────────────────────────────────────────────────────────────┬───────────┐
│ Role name │ Attributes │ Member of │
├───────────┼────────────────────────────────────────────────────────────┼───────────┤
│ postgres │ Superuser, Create role, Create DB, Replication, Bypass RLS │ {} │
│ UserName │ │ {} │
└───────────┴────────────────────────────────────────────────────────────┴───────────┘
postgres@postgres=# \l
List of databases
┌───────────┬──────────┬──────────┬─────────────┬─────────────┬────────────┬─────────────────┬───────────────────────┐
│ Name │ Owner │ Encoding │ Collate │ Ctype │ ICU Locale │ Locale Provider │ Access privileges │
├───────────┼──────────┼──────────┼─────────────┼─────────────┼────────────┼─────────────────┼───────────────────────┤
│ postgres │ postgres │ UTF8 │ en_US.UTF-8 │ en_US.UTF-8 │ │ libc │ │
│ template0 │ postgres │ UTF8 │ en_US.UTF-8 │ en_US.UTF-8 │ │ libc │ =c/postgres ↵│
│ │ │ │ │ │ │ │ postgres=CTc/postgres │
│ template1 │ postgres │ UTF8 │ en_US.UTF-8 │ en_US.UTF-8 │ │ libc │ =c/postgres ↵│
│ │ │ │ │ │ │ │ postgres=CTc/postgres │
└───────────┴──────────┴──────────┴─────────────┴─────────────┴────────────┴─────────────────┴───────────────────────┘
(3 rows)

Подведем итоги​

Вопрос 1

Я настроил окружение и могу идти дальше!