Введение
Сервер 1С не умеет работать со стандартной версией PostgreSQL. Её нужно патчить. Существует как минимум 2 версии postgresql с патчами для запуска 1С:
- PostgreSQL Pro — https://1c.postgres.ru.
- Версия от фирмы 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с базы, сделанный напрямую из postgresql, завершился корректно.
- Слежу за экспортом в dt баз, восстановленных с дампов боевого сервера.
- Отправляю всё на бэкап сервер и слежу за тем, чтобы туда приехало всё, что должно приехать.
Статья уже получилась очень объемной, так что я не буду в ней раскрывать по шагам тему мониторинга, потому что всё это у меня уже описано в других статьях. Я дам на них ссылки и прокомментирую. Весь мониторинг настроен в Zabbix.
Мониторинг дампов postgresql баз делаем по аналогии с тем, как я описал мониторинг дампов mysql — https://serveradmin.ru/nastrojka-mysqldump-proverka-i-monitoring-bekapov-mysql/ Берём начало дампа и конец. Смотрим, есть ли там нужные строки, которые характеризуют корректность выполнения дампа. Если строки есть, значит всё ОК. Какие это строки, я указывал в разделе про создание дампов.
В этой же статье выше показано, как мониторить лог файл с результатами процесса. То есть берем логи с выгрузки в dt и анализируем их. Если нет необходимых нам строк, означающих, что все в порядке, срабатывает триггер в zabbix.
Информация по мониторингу бэкапов есть в моей статье — https://serveradmin.ru/monitoring-bekapov-s-pomoshhyu-zabbix/. Там рассмотрены различные подходы к этой процедуре. В рамках данной статьи я бы сделал следующие проверки:
- Создавал тестовый файл в директории источника бэкапов, а после передачи бэкапов на сервер для долгосрочного хранения там бы проверял, есть ли этот тестовый файл и какая у него дата создания. Его наличие и свежая дата будет означать, что процесс переноса данных прошел успешно и в запланированное время.
- Так же я бы следил за размером и датой создания самих дампов. Если размер ниже разумного или среднего за какой-то период, то выводил бы предупреждение.
Все это есть с примерами в статье, которую я привёл.
Как установить 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ов:
- Знания, ориентированные на практику;
- Реальные ситуации и задачи;
- Лучшее из международных программ.