Установка и настройка postgresql 12 на debian 10

How To Add and Delete Columns from a Table

If we want to modify a table after it has been created to add an additional column, we can do that easily.

We can add a column to show the last maintenance visit for each piece of equipment by typing:

<pre>
ALTER TABLE playground ADD last_maint date;
</pre>

If you view your table information again, you will see the new column has been added (but no data has been entered):

equip_id type color location install_date last_maint
2 swing yellow northwest 2010-08-16

We can delete a column just as easily. If we find that our work crew uses a separate tool to keep track of maintenance history, we can get rid of the column here by typing:

Информация о текущих настройках сервера

В PostgreSQL есть 2 представления через которые можно посмотреть текущие настройки сервера:

  • pg_file_settings – какие параметры записаны в файлах postgresql.conf и postgresql.auto.conf;
  • pg_settings – текущие параметры, с которыми работает сервер.

Например посмотрим значение параметра config_file из представления pg_settings, который покажет конфигурационный файл текущего кластера:

postgres@postgres=# SELECT setting FROM pg_settings WHERE name = 'config_file';
                setting
---------------------------------------
 /usr/local/pgsql/data/postgresql.conf
(1 row)

Time: 1,844 ms

Внесём изменения в параметр work_mem в postgresql.conf и postgresql.auto.conf. Затем посмотрим на все не закомментированные параметры в этих файлах:

postgres@postgres=# \! echo 'work_mem = 8MB' >> $PGDATA/postgresql.conf

postgres@postgres=# ALTER SYSTEM SET work_mem TO '10MB';
ALTER SYSTEM
Time: 0,728 ms

postgres@postgres=# SELECT sourceline, name, setting, applied FROM pg_file_settings;
 sourceline |            name            |      setting       | applied
------------+----------------------------+--------------------+---------
         63 | port                       | 5433               | f
         64 | max_connections            | 100                | t
        121 | shared_buffers             | 128MB              | t
        142 | dynamic_shared_memory_type | posix              | t
        228 | max_wal_size               | 1GB                | t
        229 | min_wal_size               | 80MB               | t
        563 | log_timezone               | Europe/Moscow      | t
        678 | datestyle                  | iso, dmy           | t
        680 | timezone                   | Europe/Moscow      | t
        694 | lc_messages                | ru_RU.UTF-8        | t
        696 | lc_monetary                | ru_RU.UTF-8        | t
        697 | lc_numeric                 | ru_RU.UTF-8        | t
        698 | lc_time                    | ru_RU.UTF-8        | t
        701 | default_text_search_config | pg_catalog.russian | t
        780 | work_mem                   | 8MB                | f
          3 | work_mem                   | 10MB               | t
(16 rows)

Time: 0,650 ms

Как можно заметить в примере выше, у меня 2 одинаковых параметра work_mem. Колонка applied показывает, может ли быть применён параметр. Первый work_mem не может быть применен, так как второй его перезапишет. При этом реальное значение с которым работает сервер отличается, так как сервер не перечитал конфигурацию.

Теперь посмотрим на реальное, текущее значение этого параметра:

postgres@postgres=# SELECT name, setting, unit, boot_val, reset_val, source, sourcefile, sourceline, pending_restart, context FROM pg_settings WHERE name = 'work_mem'\gx
----+---------
name            | work_mem
setting         | 4096
unit            | kB
boot_val        | 4096
reset_val       | 4096
source          | default
sourcefile      |
sourceline      |
pending_restart | f
context         | user

Time: 0,854 ms

В примере выше мы использовали расширенный режим (в конце запроса \gx), поэтому табличка перевёрнута. Разберём колонки:

  • name – имя параметра;
  • setting – текущее значение;
  • unit – единица измерения;
  • boot_val – значение по умолчанию (жёстко задано в коде postgresql);
  • reset_val – если перечитаем конфигурацию, то применится это значение;
  • source – источник, это значение по умолчанию;
  • sourcefile – если бы источником был конфигурационный файл, то тут был бы указан этот файл;
  • sourceline – номер строки в этом файле;
  • pending_restart – параметр изменили в конфигурационном файле и требуется перезапуск сервера. У нас требуется всего лишь перечитать конфигурацию;
  • context – действия, необходимые для применения параметра, может быть таким:

    • internal – изменить нельзя, задано при установке;
    • postmaster – требуется перезапуск сервера;
    • sighup – требуется перечитать файлы конфигурации;
    • superuser – суперпользователь может изменить для своего сеанса;
    • user – любой пользователь может изменить для своего сеанса на лету.

Перечитаем конфигурацию сервера:

postgres@postgres=# SELECT pg_reload_conf();
 pg_reload_conf
----------------
 t
(1 row)

Time: 3,178 ms

postgres@postgres=# SELECT name, setting, unit, boot_val, reset_val, source, sourcefile, sourceline, pending_restart, context FROM pg_settings WHERE name = 'work_mem'\gx
----+-------------------------------------------
name            | work_mem
setting         | 10240
unit            | kB
boot_val        | 4096
reset_val       | 10240
source          | configuration file
sourcefile      | /usr/local/pgsql/data/postgresql.auto.conf
sourceline      | 3
pending_restart | f
context         | user

Time: 1,210 ms

Как видим, параметр изменился. Он был взят из postgresql.auto.conf и теперь равняется 10 MB.

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

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

/etc/postgresql/10/main/postgresql.conf

сохраните файл и перезапустите службу PostgreSQL с помощью:

Проверьте изменения с помощью утилиты :

Как видно из выходных данных выше, сервер PostgreSQL прослушивает все интерфейсы (0.0.0.0).

Последний шаг — настроить сервер на прием удаленных подключений путем редактирования файла .

Ниже приведены несколько примеров, показывающих различные варианты использования:

/etc/postgresql/10/main/pg_hba.conf

Дополнительные параметры

Эта страничка позволяет настроить несколько дополнительных параметров сервера:

Локаль: Выберите локаль с которой будет инициализирован кластер. Параметр позволит программе «initdb» попытаться определить подходящую локаль из окружающей среды. В Mac OS X, как правило, подходящая локаль — «C.UTF8», в то время как на Linux и Windows текущая локаль обычно может определяться правильно. (прим.: В этом окне вам предлагается выбрать локаль, с использованием которой будет инициализирован кластер баз данных и которая в дальнейшем будет использоваться по-умолчанию при создании других баз данных. Это довольно важный шаг, ибо локаль определяет такой важный параметр как кодировка данных в базах. Большинство людей всё-таки предпочитает работать с кодировкой UTF-8. Эта кодировка будет установлена в том случае, если в данном окне вы выберите локаль по умолчанию: . Перед тем как выбрать локаль хорошенько подумайте. Если вы устанавливаете PostgreSQL для обеспечения работы какого-либо приложения, прочтите документацию к нему, возможно это приложение требует какую-то конкретную кодировку.)

Установить pl/pgsql в базу данных template1? : Этот параметр позволяет установить процедурный язык pl/pgsql в базу данных «template1» — это означает, что он будет присутствовать во всех новых базах данных, созданных с помощью этого шаблона. В случае если вы решили не устанавливать pl/pgsql, то он в будущем может быть легко установлен ​на отдельные базы данных, если потребуется.

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

Шаг 2 — Использование ролей и баз данных в PostgreSQL

По умолчанию Postgres использует концепцию «ролей» для выполнения аутентификации и авторизации. В некоторых аспектах они аналогичны обычным пользователям и группам в Unix.

После установки Postgres настроена на использование аутентификации ident, что значит, что выполняется привязка ролей Postgres с соответствующей системной учетной записью Unix/Linux. Если роль существует внутри Postgres, пользователь Unix/Linux с тем же именем может выполнить вход в качестве этой роли.

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

Затем вы можете получить доступ к командной строке Postgres с помощью команды:

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

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

В результате вы вернетесь в командную строку в Linux.

Также вы можете запустить необходимую вам команду с учетной записью postgres напрямую с помощью :

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

Вы снова сможете выйти из интерактивного сеанса Postgres с помощью следующей команды:

Шаг 5 — Открытие командной строки Postgres с новой ролью

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

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

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

Либо же вы можете сделать следующее:

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

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

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

Какие параметры требуют перезапуск сервера?

Чтобы это выяснить нужно посмотреть все параметры у которых context = postmaster:

postgres@postgres=# SELECT name, setting, unit FROM pg_settings WHERE context = 'postmaster';
                name                 |                setting                | unit
-------------------------------------+---------------------------------------+------
 archive_mode                        | off                                   |
 autovacuum_freeze_max_age           | 200000000                             |
 autovacuum_max_workers              | 3                                     |
 autovacuum_multixact_freeze_max_age | 400000000                             |
 bonjour                             | off                                   |
 bonjour_name                        |                                       |
 cluster_name                        |                                       |
 config_file                         | /usr/local/pgsql/data/postgresql.conf |
 data_directory                      | /usr/local/pgsql/data                 |
 data_sync_retry                     | off                                   |
 dynamic_shared_memory_type          | posix                                 |
 event_source                        | PostgreSQL                            |
 external_pid_file                   |                                       |
 hba_file                            | /usr/local/pgsql/data/pg_hba.conf     |
 hot_standby                         | on                                    |
 huge_pages                          | try                                   |
 ident_file                          | /usr/local/pgsql/data/pg_ident.conf   |
 ignore_invalid_pages                | off                                   |
 jit_provider                        | llvmjit                               |
 listen_addresses                    | localhost                             |
 logging_collector                   | off                                   |
 max_connections                     | 100                                   |
 max_files_per_process               | 1000                                  |
 max_locks_per_transaction           | 64                                    |
 max_logical_replication_workers     | 4                                     |
 max_pred_locks_per_transaction      | 64                                    |
 max_prepared_transactions           | 0                                     |
 max_replication_slots               | 10                                    |
 max_wal_senders                     | 10                                    |
 max_worker_processes                | 8                                     |
 old_snapshot_threshold              | -1                                    | min
 port                                | 5432                                  |
 recovery_target                     |                                       |
 recovery_target_action              | pause                                 |
 recovery_target_inclusive           | on                                    |
 recovery_target_lsn                 |                                       |
 recovery_target_name                |                                       |
 recovery_target_time                |                                       |
 recovery_target_timeline            | latest                                |
 recovery_target_xid                 |                                       |
 restore_command                     |                                       |
 shared_buffers                      | 16384                                 | 8kB
 shared_memory_type                  | mmap                                  |
 shared_preload_libraries            |                                       |
 superuser_reserved_connections      | 3                                     |
 track_activity_query_size           | 1024                                  | B
 track_commit_timestamp              | off                                   |
 unix_socket_directories             | /tmp                                  |
 unix_socket_group                   |                                       |
 unix_socket_permissions             | 0777                                  |
 wal_buffers                         | 512                                   | 8kB
 wal_level                           | replica                               |
 wal_log_hints                       | off                                   |
(53 rows)

Time: 0,666 ms

Сводка

Имя статьи
PostgreSQL. Конфигурирование

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

Create and Delete Tables

Now that you know how to connect to the PostgreSQL database system, we will start to go over how to complete some basic tasks.

First, let’s create a table to store some data. Let’s create a table that describes playground equipment.

The basic syntax for this command is something like this:

<pre>
CREATE TABLE <span class=“highlight”>tablename</span> (
<span class=“highlight”>columnname1</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>fieldlength</span>) <span class=“highlight”>columnconstraints</span>,
<span class=“highlight”>columnname2</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>fieldlength</span>),
<span class=“highlight”>columnname3</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>field_length</span>)
);
</pre>

As you can see, we give the table a name, and then define the columns that we want, as well as the column type and the max length of the field data. We can also optionally add table constraints for each column.

You can learn more about how to create and manage tables in Postgres here.

For our purposes, we’re going to create a simple table like this:

We have made a playground table that inventories the equipment that we have. This starts with an equipment ID, which is of the type. This data type is an auto-incrementing integer. We have given this column the constraint of which means that the values must be unique and not null.

For two of our columns, we have not given a field length. This is because some column types don’t require a set length because the length is implied by the type.

We then give columns for the equipment type and color, each of which cannot be empty. We then create a location column and create a constraint that requires the value to be one of eight possible values. The last column is a date column that records the date that we installed the equipment.

We can see our new table by typing this:

As you can see, we have our playground table, but we also have something called that is of the type . This is a representation of the “serial” type we gave our column. This keeps track of the next number in the sequence.

If you want to see just the table, you can type:

6: Аутентификация новой роли PostgreSQL

Чтобы выполнить ident аутентификацию PostgreSQL, нужно иметь пользователя системы Linux, чье имя совпадает с именем роли и БД.

Если у вас нет такого пользователя, создайте его в Linux с помощью команды adduser (для этого необходимы права sudo).

После этого можно перейти в сессию нового пользователя и подключиться к БД:

Или же подключиться к БД напрямую:

Если все предыдущие настройки были выполнены правильно, команда автоматически подключится к БД.

Чтобы подключиться к другой БД, нужно указать её имя:

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

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

Установка PostgreSQL из исходников

Работаем из под пользователя root, поэтому будьте осторожны!

Прежде всего скачаем и распакуем архив:

# mkdir pg
# cd pg/
# wget https://ftp.postgresql.org/pub/source/v13.3/postgresql-13.3.tar.gz
# tar xf postgresql-13.3.tar.gz
# cd postgresql-13.3/

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

# apt install gcc make
# apt install libreadline-dev
# apt install zlibc zlib1g-dev
# ./configure
# make
# make install

В результате, PostgreSQL у нас установится в каталог /usr/local/pgsql/, здесь лежат сами бинарники.

Теперь нам нужно создать каталог для хранения данных. В PostgreSQL он называется PGDATA по имени переменной $PGDATA в которой содержится путь к каталогу кластера PostgreSQL. Создадим такой каталог а также пользователя “postgres“. Дополнительно сделаем этого пользователя владельцем этого каталога и установим права (750):

# mkdir /usr/local/pgsql/data
# adduser postgres
# chown postgres /usr/local/pgsql/data/
# chmod 750 /usr/local/pgsql/data/

7: Создание и удаление таблиц

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

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

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

Для примера создайте тестовую таблицу:

Данная таблица описывает всё оборудование. Таблица начинается со столбца ID, который указывает порядковый номер записи. Этот столбец был ограничен по PRIMARY KEY, что значит, что значения должны быть уникальными и не должны быть нулём.

Длина поля столбцов equip_id и install_date не ограничена; дело в том, что задавать длину некоторых столбцов необязательно, так как она автоматически задаётся типом данных.

Столбцы type и color не могут быть пустыми. Столбец location ограничен восемью возможными значениями. Столбец date указывает дату установки оборудования.

Просмотреть таблицу можно при помощи команды:

playground_equip_id_seq имеет тип данных sequence. Это представление типа данных serial, установленного для столбца equip_id. Этот тип определяет следующий номер в последовательности.

Чтобы просмотреть таблицу вне этого типа данных, введите:

Создание и удаление таблиц PostgreSQL

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

Поскольку в данном руководстве БД называется events, чтобы открыть ее, нужно запустить команду:

Теперь можно приступить к созданию таблиц. Предположим, вы планируете встретиться с друзьями; все важные данные этой встречи можно расписать в таблице Postgres.

Итак, создайте таблицу:

Данная команда выполняет следующие действия:

  • Создает таблицу по имени party;
  • Делит новую таблицу на 4 столбца: name, food, confirmed, signup date;
  • Ограничивает количество символов столбца name до 20 (при помощи команды VARCHAR);
  • Ограничивает количество символов столбца food до 30 (данный столбец содержит информацию о том, какую еду принесет на встречу тот или иной приглашенный);
  •  Ограничивает количество символов в столбце confirmed до одной буквы: Y или N (данный столбец предназначен для отметки, принял гость приглашение или нет);
  • Столбец date показывает, когда гость принял приглашение; Postgres требует, чтобы даты записывались в формате гггг-мм-дд.

После запуска данной команды Postgres подтвердит создание таблицы строкой:

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

В данном случае результат будет выглядеть так:

Добавление данных в таблицу Postgres

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

Для этого используйте:

Вывод будет следующим:

Добавьте еще несколько строк в таблицу:

Чтобы просмотреть таблицу:

Теперь попробуйте удалить данные из таблицы; например, удалите строку, содержащую данные о первом госте. Для этого используется команда DELETE:

Добавление и удаление столбцов

Этой таблице не хватает важных данных: электронных адресов приглашенных. Для этого можно просто добавить новый столбец:

Так же просто можно и удалить ненужный столбец:

6: Создание и удаление таблиц

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

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

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

Для примера создайте простую таблицу, которая описывает оборудование детской площадки:

Данная таблица описывает всё оборудование детской площадки. Таблица начинается со столбца ID, который указывает порядковый номер записи. Этот столбец был ограничен по PRIMARY KEY, то есть значения должны быть уникальными и не должны быть нулём.

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

Длина поля столбцов equip_id и install_date не ограничена; дело в том, что задавать длину некоторых столбцов необязательно, так как она автоматически задаётся типом данных.

Просмотреть таблицу можно при помощи команды:

playground_equip_id_seq имеет тип данных sequence. Это представление типа данных serial, установленного для столбца equip_id. Этот тип определяет следующий номер в последовательности.

Чтобы просмотреть таблицу вне этого типа данных, введите:

1: Установка PostgreSQL

Пакет PostgreSQL можно загрузить из официального репозитория CentOS с помощью стандартного менеджера пакетов. Однако эта версия может быть устаревшей. Потому мы рекомендуем установить пакет из официального репозитория Postgres.

Прежде чем перейти к настройке нового репозитория, исключите поиск пакетов postgresql из репозитория CentOS-Base. В противном случае зависимости могут разрешиться на другую версию пакета.

Откройте конфигурационный файл репозитория с помощью текстового редактора, например, vim:

Найдите разделы и , перейдите в режим вставки, нажав i, и вставьте строку exclude=postgresql* в оба раздела. В результате файл будет выглядеть следующим образом:

Когда вы закончите, нажмите ESC, чтобы выйти из режима вставки, затем :wq и Enter, чтобы сохранить и закрыть файл.

Теперь установите пакет конфигурации репозитория, используйте для этого официальный репозиторий PostgreSQL для CentOS:

Подтвердите установку, нажав у.

Репозиторий PostgreSQL содержит информацию обо всех доступных релизах PostgreSQL. Вы можете увидеть все доступные пакеты и версии, введя следующую команду:

Выберите и установите нужную версию PostgreSQL. В этом мануале мы используем релиз PostgreSQL 11.

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

В процессе установки вам будет предложено импортировать ключ GPG:

Чтобы продолжить установку, введите у.

Установка PostgreSQL завершена. Теперь можно ознакомиться с её функциями и создать новый кластер.

Создайте пользователя csadmin

Для PostgreSQL установки и настройки в командной строке psql (заканчивающейся на #) переключитесь с базы данных template1 на postgres, введя следующее:

c postgres

Введите следующую команду, чтобы создать пользователя csadmin с соответствующими привилегиями. Не забудьте заменить пароль replacemewithyourpassword в приведенном ниже примере на пароль по вашему выбору.

CREATE ROLE csadmin LOGIN PASSWORD ‘replacemewithyourpassword’ SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

В результате вы должны увидеть сообщение, подобное этому: CREATE ROLE.

Закройте программу psql, введя q (или нажав Ctrl + d).

Теперь перезапустите сервер PostgreSQL еще раз (как описано выше).

Check Connection Information

If you are connected to PostgreSQL and want to see details of the connection, use the command:

The output displays information on the database name, the account you are logged in, the socket path, and port number.

Conclusion

This article should help you set up PostgreSQL. Whether you decide to install from the PostgreSQL repository or the local Ubuntu repository, both installations are simple and easy to do.

To connect to PostgreSQL and manage SQL queries check out our article on setting up and connecting PostgreSQL with SQL Workbench.

To learn more about PostgreSQL installation, make sure to read our article How to Download and Install PostgreSQL on Windows.

Создание роли и базы данных PostgreSQL

Вы можете создавать новые роли из командной строки с помощью команды . Только суперпользователи и роли с привилегией могут создавать новые роли.

В следующем примере мы создадим новую роль с именем в базе данных с именем и предоставим привилегии для этой базы данных.

  1. Создайте новую роль PostgreSQL

    Следующая команда создаст новую роль с именем john:

  2. Создайте новую базу данных PostgreSQL

    Создайте новую базу данных с именем johndb с помощью команды :

  3. Предоставлять привилегии

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

    и запустите следующий запрос:

Установка сервера 1С

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

И так, выполним установку следующих пакетов:

apt-get install imagemagick unixodbc ttf-mscorefonts-installer

* где:

  • imagemagick — набор программ для чтения и редактирования графических файлов.
  • unixodbc — диспетчер драйверов для ODBC.
  • ttf-mscorefonts-installer — набор шрифтов Microsoft.

В процессе установки система запросит принять лицензионное соглашение — выбираем Yes.

Копируем на сервер архив с дистрибутивом для 1С, который был загружен с сайта 1С или получен от поставщика. Распаковываем архив командой:

tar zxvf 8.3.16.1148_deb64.tar.gz

* где 8.3.16.1148_deb64.tar.gz — имя архива с 1С версии 8.3.16. В архиве пакеты deb (для Linux на основе Debian) для 64-х разрядной системы.

Устанавливаем все пакеты, которые находились в архиве командой:

dpkg -i 1c-enterprise*.deb

Разрешаем автозапуск сервиса 1С и стартуем его:

systemctl enable srv1cv83

systemctl start srv1cv83

Необходимо убедиться, что сервис запустился:

systemctl status srv1cv83

Если мы получим ошибку «srv1cv83.service not found», находим исполняемый файл srv1cv83:

find /opt -name srv1cv83

В моем случае он был по пути:

/opt/1cv8/x86_64/8.3.16.1148/srv1cv83

Делаем симлинк в каталоге /etc/init.d на найденный файл:

ln -s /opt/1cv8/x86_64/8.3.16.1148/srv1cv83 /etc/init.d/srv1cv83

Снова запускаем сервис:

systemctl start srv1cv83

Установка расширений из исходников

Расширение – это специальная программа, расширяющая функциональность сервера баз данных. Например модуль pgcrypto добавляет криптографические функции.

Следующим шагом научимся устанавливать расширения. Для этого перейдем в каталог с исходниками и найдём подкаталог contrib. В каталоге contrib лежат исходники расширений. Найдем каталог pgcrypto, перейдём в него и скомпилируем расширение:

postgres@s-pg13:~$ exit
# cd ~/pg/postgresql-13.3/contrib/pgcrypto/
# make
# make install

Проверим что расширение установилось. Все установленные расширения можем посмотреть в представлении “pg_available_extensions“:

# su - postgres

postgres@s-pg13:~$ psql
psql (13.3)
Type "help" for help.

postgres=# SELECT name, comment FROM pg_available_extensions;
   name   |           comment
----------+------------------------------
 pgcrypto | cryptographic functions
 plpgsql  | PL/pgSQL procedural language
(2 rows)

postgres=# \q

postgres@s-pg13:~$

В листинге выше с помощью утилиты psql мы подключаемся к СУБД, а с помощью команды \q отключаемся от него.

Создание ролей PostgreSQL

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

Даная система имеет два метода авторизации: ident и md5. По умолчанию используется метод ident, позволяющий привязать пользователя сервера к аккунту Postgres. Альтернативный метод md5, запрашивающий у клиента зашифрованный пароль, можно настроить в конфигурациях авторизации в /etc/postgresql/9.1/main/pg_hba.conf.

Чтобы создать нового пользователя, откройте аккаунт стандартного пользователя:

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

Чтобы защитить пользователя паролем, добавьте в команду createuser флаг –pwprompt:

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

Теперь, когда у нас есть таблица, мы можем добавить в неё данные.

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

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

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

Мы можем просмотреть добавленные данные следующей командой:

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

Если горка на нашей детской площадке сломалась и нам необходимо её убрать, мы можем удалить эту запись из нашей базы следующей командой:

Теперь при просмотре содержимого таблицы мы увидим, что запись горки более в ней не представлена:

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector