Установка и настройка postgresql 13 на linux ubuntu server 20.04

Содержание:

Основные параметры

Дальнейшие действия зависят от условий, в которых вы планируете использовать СУБД. Если нужно подключение к сети по протоколу «TCP/IP»:

  1. Откройте файл конфигурации postgresql.conf. Он находится в папке «etc/postgresql//main/».
  2. Отыщите в нём параметр «listen_addresses = ‘localhost’»
  3. Замените значение localhost на «*» («звёздочку»).
  4. Сохраните.

Если этого не сделать, сервер СУБД будет доступен только на одном компьютере.

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

  1. Откройте файл pg_hba.conf. Он в каталоге «/etc/postgresql//main/».
  2. Найдите там параметр «local all postgres» и напечатайте рядом md5. Если такой строки нет, впишите её.

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

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

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

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

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

Вы можете использовать дополнительные флаги при выполнении этой команды. Ознакомиться с полным списком флагов можно изучив страницу :

Установка

Установите PostgreSQL:

emerge -a dev-db/postgresql

Выполните базовую настройку PostgreSQL:

emerge —config postgresql

Configuring pkg...

 * You can modify the paths and options passed to initdb by editing:
 *     /etc/conf.d/postgresql-13
 * 
 * Information on options that can be passed to initdb are found at:
 *     http://www.postgresql.org/docs/13/static/creating-cluster.html
 *     http://www.postgresql.org/docs/13/static/app-initdb.html
 * 
 * PG_INITDB_OPTS is currently set to:
 *     --encoding=UTF8
 * 
 * Configuration files will be installed to:
 *     /etc/postgresql-13/
 * 
 * The database cluster will be created in:
 *     /var/lib/postgresql/13/data
 * 
 * Continuing initialization in 5 seconds (Control-C to cancel) ...
 ok
 * Creating the data directory ...
 * Initializing the database ...
Файлы, относящиеся к этой СУБД, будут принадлежать пользователю "postgres".
От его имени также будет запускаться процесс сервера.

Кластер баз данных будет инициализирован со следующими параметрами локали:
  COLLATE:  ru_RU.utf8
  CTYPE:    ru_RU.utf8
  MESSAGES: ru_RU.utf8
  MONETARY: ru_RU.utf8
  NUMERIC:  C
  TIME:     ru_RU.utf8
Выбрана конфигурация текстового поиска по умолчанию "russian".

Контроль целостности страниц данных отключён.

исправление прав для существующего каталога /var/lib/postgresql/13/data... ок
создание подкаталогов... ок
выбирается значение max_connections... 100
выбирается значение shared_buffers... 128MB
выбор реализации динамической разделяемой памяти... posix
создание конфигурационных файлов... ок
выполняется подготовительный скрипт... ок
выполняется заключительная инициализация... ок
сохранение данных на диске... ок

ПРЕДУПРЕЖДЕНИЕ: используется проверка подлинности "trust" для локальных подключений.
Другой метод можно выбрать, отредактировав pg_hba.conf или используя ключи -A,
--auth-local или --auth-host при следующем выполнении initdb.

Готово. Теперь вы можете запустить сервер баз данных:

    /usr/lib64/postgresql-13/bin/pg_ctl -D /var/lib/postgresql/13/data -l файл_журнала start

 * The autovacuum function, which was in contrib, has been moved to the main
 * PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled
 * by default. You can disable it in the cluster's:
 *     /etc/postgresql-13/postgresql.conf
 * 
 * The PostgreSQL server, by default, will log events to:
 *     /var/lib/postgresql/13/data/postmaster.log
 * 
 * You should use the '/etc/init.d/postgresql-13' script to run PostgreSQL
 * instead of 'pg_ctl'.

В выводе указана вся основная информация.

Запустите PostgreSQL:

/etc/init.d/postgresql-13 start

postgresql-13 | * /run/postgresql: creating directory
postgresql-13 | * /run/postgresql: correcting owner
postgresql-13 | * Starting PostgreSQL 13 ...                                  ok 

Добавьте SQL-сервер в автозагрузку:

rc-update add postgresql-13

 * service postgresql-13 added to runlevel default

Установите PostgreSQL в Ubuntu

На момент написания этой статьи последней версией PostgreSQL, доступной в официальных репозиториях Ubuntu, была PostgreSQL версии 10.4.

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

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

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

  2. Проверка установки PostgreSQL

    После завершения установки служба PostgreSQL запустится автоматически.

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

psql — это интерактивная утилита командной строки, которая позволяет вам взаимодействовать с сервером PostgreSQL.

Перезапустите службу PostgreSQL

Если при запуске сервера после установки PostgreSQL выводятся сообщения об ошибках, обратитесь к разделу «Сбои при запуске сервера» в документации PostgreSQL по запуску сервера.

Linux:

Если вы являетесь пользователем root или sudo, можно выполнить следующую команду:

service postgresql restart

Mac:

Убедитесь, что вы являетесь пользователем postgres:

sudo su - postgres
pg_ctl restart -D /Library/PostgreSQL/9.1/data

Флаг -D указывает местоположение каталога данных PostgreSQL, который также может быть установлен как переменная среды PGDATA. По умолчанию его можно найти по адресу /Library/PostgreSQL/9.1/data.

Если при попытке запустить pg_ctl вы получаете сообщение об ошибке «not found», попробуйте указать полный путь к этому файлу в подкаталоге bin каталога, в котором установлен PostgreSQL. Например: /Library/PostgreSQL/9.1/bin/pg_ctl restart -D /Library/PostgreSQL/9.1/data

Чтобы добавить PGDATA в качестве глобальной переменной среды в / etc / profile, выполните следующие шаги:

sudo vi /etc/profile

Затем добавьте следующую строку:

export PGDATA=»/Library/PostgreSQL/9.1/data»

После этого можно будет выполнить предыдущую команду для перезапуска сервера PostgreSQL без флага -D.

Windows:

При установке PostgreSQL Windows у вас должны быть права администратора. Кликните правой кнопкой мыши по ярлыку «Мой компьютер» и выберите пункт «Управление». В пользовательском интерфейсе «Управление» выберите «Службы и приложения» — «Службы». Найдите службу PostgreSQL («postgresql-9.0 — PostgreSQL Server 9.0»), выберите ее и нажмите на кнопку «Перезапустить службу».

Веб-публикации

Сервер 1С поддерживает возможность веб-публикаций баз 1С. Это дает возможность открывать программу в браузере или мобильном приложении. В Linux данные публикации осуществляются с помощью Apache.

Установка и запуск Apache

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

apt-get install apache2

Разрешаем автозапуск веб-сервера и стартуем сам сервис:

systemctl enable apache2

systemctl start apache2

Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С> — мы должны увидеть стартовую страницу Apache:

Публикация 1С на веб-сервере

Публикация базы выполняется с помощью скрипта webinst, который устанавливается с сервером. Для простоты, мы опубликуем базу в корневую директорию /var/www/html, но при желании, можно настроить виртуальные домены.

И так, создадим каталог, в который опубликуем нашу базу:

mkdir /var/www/html/test

Переходим в каталог с установленным 1С:

cd /opt/1C/v8.3/x86_64/

… или:

cd /opt/1cv8/x86_64/8.3.16.1148/

* где 8.3.16.1148 — версия установленной платформы.

Заускаем скрипт для публикации базы:

./webinst -apache24 -wsdir test -dir /var/www/html/test -connstr «Srvr=192.168.1.11;Ref=test;» -confPath /etc/apache2/apache2.conf

* где apache24 — версия установленного apache; test — имя нашей базы, которую мы создали ранее; /var/www/html/test — путь до каталога на сервере, в котором будет опубликована база; 192.168.1.11 — IP-адрес сервера 1С; Ref=test — имя базы в СУБД; /etc/apache2/apache2.conf — путь до конфигурационного файла apache.

Мы должны увидеть:

Publication successful

… или:

Публикация выполнена

Перезапускаем апач:

systemctl restart apache2

Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С>/test/, где test — каталог в каталоге /var/www/html, куда мы опубликовали базу.

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

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

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

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

Получите добавленную вами информацию, введя следующую команду:

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

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

Запросите таблицу еще раз:

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

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

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

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

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

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

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

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

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

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

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

По умолчанию сервер PostgreSQL прослушивает только локальный интерфейс ( ).

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

/etc/postgresql/12/main/postgresql.conf

Сохраните файл и перезапустите службу PostgreSQL:

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

Вывод показывает, что сервер PostgreSQL прослушивает все интерфейсы ( ):

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

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

/etc/postgresql/12/main/pg_hba.conf

Последний шаг — открыть порт в вашем брандмауэре.

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

Убедитесь, что ваш брандмауэр настроен на прием подключений только из доверенных диапазонов IP-адресов.

Connect to the PostgreSQL database server via psql

In PostgreSQL, a user account is referred to as a role. By default, PostgreSQL uses ident authentication.

It means that PostgreSQL will associate its roles with the system accounts of Linux. If a role exists in PostgreSQL, the same Linux user account with the same name is able to log in as that role.

When you installed PostgreSQL, the installation process created a user account called associated with the default role.

To connect to PostgreSQL using the role, you switch over to the account on your server by typing:

It’ll prompt for the password of the current user. You need to provide the password and hit the keyboard.

Then, you can access the PostgreSQL using the by typing the following command:

You’ll access the postgres prompt like this:

From here, you can interact with the PostgreSQL like issuing a query.

To quit the PostgreSQL prompt, you run the following command:

This above command will bring you back to the postgres Linux command prompt.

To return to your regular system user, you execute the  command like this:

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

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

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

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

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

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

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

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

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

Создание кластера БД

Дальнейшие действия нужно проделывать под пользователем postgres

# su - postgres

Инициализируем кластер баз данных:

postgres@s-pg13:~$ initdb -k

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

После инициализации кластера у нас заполнился каталог PGDATA:

postgres@s-pg13:~$ ls /usr/local/pgsql/data/
base pg_commit_ts pg_hba.conf pg_logical pg_notify pg_serial pg_stat pg_subtrans pg_twophase pg_wal postgresql.auto.conf global pg_dynshmem pg_ident.conf pg_multixact pg_replslot pg_snapshots pg_stat_tmp pg_tblspc PG_VERSION pg_xact postgresql.conf

В этом каталоге лежат конфигурационные файлы кластера, и в подкаталоге base лежат базы данных. Но о содержимом этого каталога мы поговорим позже.

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

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

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

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

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

Использование

Руководство по использованию можно скачать прямо из терминала. Введите в «apt-get install postgresql-doc-». Вот некоторые важные команды:

  1. Доступ к консоли управления — «-u postgres psql» (вначале напишите sudo, если нужны root-права). Её отключение и выход — «/q».
  2. Добавление роли/пользователя — напишите в терминале «createuser —interactive». Система попросит ввести желаемое имя. Потом спросит, давать ли ему права суперюзера. Нажмите Y, если согласны, или N, если не согласны.
  3. Добавление базы данных — «createdb ».
  4. Чтобы посмотреть на эту БД, зайдите в аккаунт юзера, для которого она создана — «sudo su ». И активируйте консоль управления — psql.

Работа с таблицами

  • Добавление таблицы — «CREATE TABLE ».
  • После этой команды в скобках напишите параметры сетки « () ». Таким образом введите несколько строк, разделяя их запятыми. После каждой нажимайте Enter. У колонок могут быть разные названия и типы. Когда закончите записывать данные, закройте скобку и поставьте точку с запятой. Количество позиций тоже указывайте в скобках.
  • Посмотреть содержимое таблицы — «\d». А лучше — «SELECT * FROM »
  • Удалить её — «DROP TABLE ». После этого нажмите Enter и напишите «DROP TABLE» ещё раз.
  • Ввести данные — «INSERT INTO (Столбец1, Столбец2, Столбец3) VALUES (‘Запись1’, ‘Запись2’, ‘Запись3’);». В столбцы будут добавлены соответствующие записи. Можете повторять команду, чтобы вписывать новую информацию
  • Удалить значение — «DELETE FROM WHERE = ‘’;».
  • Новый столбец — «ALTER TABLE ADD ».
  • Удалить столбец — «ALTER TABLE DROP ».

Вот так и выглядит в PostgreSQL установка и настройка. Ubuntu не сложно освоить. Нужно лишь запомнить основные команды. Эта СУБД часто используется в коммерческих целях. Подходит для веб-дизайна и создания сайтов. Поддерживает популярные языки программирования.

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

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

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

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

Существует несколько способов использования этой учетной записи для доступа к Postgres.

Переключение на учетную запись postgres

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

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

Теперь вы можете свободно взаимодействовать с СУБД по мере необходимости.

Закройте командную строку PostgreSQL с помощью следующей команды:

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

Доступ к командной строке Postgres без переключения учетных записей

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

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

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

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

Многие варианты использования требуют использования сразу нескольких ролей Postgres. Ниже вы узнаете, как выполнить настройку в таких случаях.

Как добавлять и удалять столбцы из таблицы

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

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

Теперь если мы выведем содержимое таблицы, мы увидим, что новый столбец был добавлен (но существующие записи не содержат никаких значений в этом столбце):

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

Шаг 8 — Добавление и удаление столбцов таблицы

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

Если вы снова просмотрите данные таблицы, то увидите, что новый столбец был добавлен (но не было добавлено данных):

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

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

Установка 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/

Install PostgreSQL from PostgreSQL Apt Repository

PostgreSQL is available in all Ubuntu versions by default, but it doesn’t guarantee automatic updates when new releases come out. The local repository only has «snapshots» of a specific version. The best practice is to install the software from the PostgreSQL Apt Repository.

The PostgreSQL Apt Repository provides the latest PostgreSQL version, as well as all previous server packages, extensions, and modules.

Step 1: Add PostgreSQL Repository

To install from the official repository, you first need to add it to your system.

Import the GPG repository key with the commands:

Then, add the PostgreSQL repository by typing:

Step 2: Update the Package List

After adding the official PostgreSQL repository, make sure to update the package list. Doing this ensures you install the latest PostgreSQL package.

Step 3: Install PostgreSQL

To install PostgreSQL and the PostgreSQL contrib package (which provides additional features), use the following command:

By default, the software creates a postgres user, once you successfully install the database system. This user account has the default ‘postgres’ role.

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

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

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

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

Существует несколько способов использования этой учетной записи для доступа к Postgres.

Переключение на учетную запись postgres

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

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

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

Закройте командную строку PostgreSQL с помощью следующей команды:

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

Доступ к командной строке Postgres без переключения учетных записей

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

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

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

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

Многие варианты использования требуют использования сразу нескольких ролей Postgres. Ниже вы узнаете, как выполнить настройку в таких случаях.

Установка сервера 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

Настройка типов данных

Откройте консоль PostgreSQL для базы данных template1:

Если при попытке запустить psql на экране появится сообщение not found», попробуйте указать полный путь к этому файлу в подкаталоге bin; например на Mac OS X: /Library/PostgreSQL/9.1/bin/psql.

Linux:

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

su - postgres
psql -d template1   #open the database template1

Mac:

Под пользователем postgres выполните следующие две команды:

Sudo su - postgres
Psql -d template1

При первом запуске команды psql на OS X 10.8.X вы можете увидеть сообщение об ошибке:

dyld: Library not loaded: @loader_path/../lib/libssl.dylib
  Referenced from: /usr/lib/libpq.5.dylib
  Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8

Это связано с тем, как Homebrew в Mac OS X и Mountain Lion конфликтуют с определенными системными библиотеками. Решение этой проблемы заключается в том, чтобы скопировать и связать версии библиотеки. PostgreSQL упакован в /usr/lib, где библиотеки хранятся в Mountain Lion.

sudo cp /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.1/lib/libcrypto.1.0.0.dylib /usr/lib
sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib

Еще одним решением может стать пересмотр Homebrew и проверка совместимости с Mountain Lion.

При установке PostgreSQL на Mac OS X в один клик создается ярлык для оболочки PostgreSQL в каталоге Applications / PostgreSQL 9.0 /. Нажмите SQL Shell (psql).app, чтобы открыть новое окно терминала с запущенным psql.

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

psql c template1

Windows:

psql запускается из командной строки (cmd) Windows. Убедитесь, что путь к папке postgres bin хранится в переменной PATH, или просто вызовите ее с полным путем к месту расположения исполняемого файла psql:

psql -d template1 -U postgres

Выполните команды консоли:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';

CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

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

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

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

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

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

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

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

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

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

Настройки на Master

В данной статье мы будем настраивать серверы с IP-адресами 192.168.1.10 (первичный или master) и 192.168.1.11 (вторичный или slave).

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

Создаем пользователя в PostgreSQL

Входим в систему под пользователем postgres:

su — postgres

Создаем нового пользователя для репликации:

createuser —replication -P repluser

* система запросит пароль — его нужно придумать и ввести дважды. В данном примере мы создаем пользователя repluser.

Выходим из оболочки пользователя postgres:

exit

Настраиваем postgresql

Смотрим расположение конфигурационного файла postgresql.conf командой:

su — postgres -c «psql -c ‘SHOW config_file;'»

В моем случае система вернула строку:

 /etc/postgresql/9.6/main/postgresql.conf

* конфигурационный файл находится по пути /etc/postgresql/9.6/main/postgresql.conf.

Открываем конфигурационный файл postgresql.conf.

vi /etc/postgresql/9.6/main/postgresql.conf

* мы открываем файл, который получили sql-командой SHOW config_file;.

Редактируем следующие параметры:

listen_addresses = ‘localhost, 192.168.1.10’
wal_level = replica
max_wal_senders = 2
max_replication_slots = 2
hot_standby = on
hot_standby_feedback = on

* где

  • 192.168.1.10 — IP-адрес сервера, на котором он будем слушать запросы Postgre; 
  • wal_level указывает, сколько информации записывается в WAL (журнал операций, который используется для репликации); 
  • max_wal_senders — количество планируемых слейвов; 
  • max_replication_slots — максимальное число слотов репликации (данный параметр не нужен для postgresql 9.2 — с ним сервер не запустится); 
  • hot_standby — определяет, можно или нет подключаться к postgresql для выполнения запросов в процессе восстановления; 
  • hot_standby_feedback — определяет, будет или нет сервер slave сообщать мастеру о запросах, которые он выполняет.

Открываем конфигурационный файл pg_hba.conf — он находитсяч в том же каталоге, что и файл postgresql.conf:

vi /etc/postgresql/9.6/main/pg_hba.conf

Добавляем следующие строки:

host replication repluser 127.0.0.1/32 md5
host replication repluser 192.168.1.10/32 md5
host replication repluser 192.168.1.11/32 md5

* данной настройкой мы разрешаем подключение к базе данных replication пользователю repluser с локального сервера (localhost и 192.168.1.10) и сервера 192.168.1.11.

Перезапускаем службу postgresql:

systemctl restart postgresql

* обратите внимание, что название для сервиса в системах Linux может различаться

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

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