How to install and use postgresql on ubuntu 14.04

Миграция базы на PostgreSQL

В случае, если это не первая установка и у нас уже есть база, ее нужно перенести на новый сервер. Рассмотрим 2 варианта — база была на другом сервере PostgreSQL и универсальный (файловый вариант или другая СУБД).

С PostgreSQL на PostgreSQL

В данном случае процесс переноса заключается в создании дампа (backup) и его восстановления на новом сервере (restore). Необходимо учесть, что для корректного переноса данных, версии 1С должны совпадать.

Есть несколько инструментов по созданию резервных копий PostgreSQL и их восстановлению. Их описание выходит за рамки данной статьи — подробнее читайте инструкцию Резервное копирование PostgreSQL.

Универсальный способ миграции на PostgreSQL

Данный способ также подойдет и для миграции с PostgreSQL на PostgreSQL. Для начала, открываем нашу базу в конфигураторе на старом 1С — кликаем по Администрирование — Выгрузить информационную базу:

Выбираем путь для сохранения файла. Ждем окончания выгрузки и переносим полученный файл на компьютер с толстым клиентом 1С (если для нового сервера мы используем другой компьютер с 1С).

Открываем конфигуратор для созданной в PostgreSQL базы — кликаем Администрирование — Загрузить информационную базу:

… и выбираем выгруженный ранее файл. Дожидаемся его загрузки — система потребует перезапустить 1С — соглашаемся. Ждем новой загрузки. После можно пользоваться базой 1С на новом сервере.

Начальная настройка

Недостаточно просто установить PostgreSQL. Ubuntu-программа должна работать вместе с модулями и библиотеками, от которых она зависит. И также надо придумать пароль, чтобы функции приложения были доступны только тем, у кого есть доступ.

После установки потребуется конфигурирование СУБД

  1. Переключитесь на юзера, из-под которого будете управлять утилитой — «su — postgres».
  2. Зайдите в консоль программы psql.
  3. Назначьте код доступа «\password postgres». После этой команды напишите желаемый пароль.
  4. Введите параметр — «postgres=# \q».
  5. Выйдите из аккаунта пользователя — exit.

Теперь настройка Apache и загрузка редактора vim.

  1. Если он у вас не установлен, впишите команду «apt-gei install vim».
  2. Подготовьте Апачи для работы с клиентом. Откройте конфигурационный файл — «vim /etc/apache2/conf-available/phppgadmin.conf».
  3. Раскомментируйте в нём параметр Allow From all. Если его нет, добавьте вручную.
  4. Найдите строку Require local. Закомментируйте её.
  5. Сохраните изменения.

Перенастройте phpPgAdmin:

  1. Откройте файл «vim /etc/phppgadmin/config.inc.php».
  2. Отыщите там параметр «conf». Если стоит значение true, поменяйте его на false.
  3. Сохраните документ.
  4. Перезапустите программу — «/etc/init.d/restart postgresql».
  5. Перезагрузите Апачи — «etc/init.d/restart apache2».

Установка PostgreSQL в Ubuntu завершена. Можете открыть утилиту. Зайдите в браузер и введите туда URL «/phppgadmin/».

Установка

Есть несколько способов скачать программу. Самый простой — через репозиторий.

  1. Запустите Терминал.
  2. Для загрузки утилиты напечатайте несколько строчек. Чтобы действовать от имени администратора, напишите sudo перед командой.
  3. Обновите систему — «apt-get update».
  4. Проинсталлируйте само приложение — «apt-get install postgresql».

Подождите, пока программа загрузится. И скачайте дополнительные модули:

  • Поставьте Contrib — добавьте к предыдущей команде «postgresql-contrib».
  • Также пригодится клиент — «postgresql-client».
  • Чтобы при работе использовать графический интерфейс, введите в той же строке «apt-get install phppgadmin».

Лучше сразу «проапгрейдить» phpPgAdmin: установить пакет, который расширит его возможности. Вы получите улучшенный мониторинг и логирование. Чтобы его активировать, напишите «sudo su postgres -c psql < /usr/share/postgresql//contrib/adminpack.sql».

Инсталляция будет одинаковой как в случае с репозиторием, так и с PPA

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

  1. Используйте команду nano. С ней введите путь к «/etc/apt/sources.list.d/pgdg.list».
  2. В следующей строке введите deb. Вставьте ссылку — «apt.postgresql.org/pub/repos/apt/». Дополнительно добавьте скрипт — «<span id=»series-deb»>wily</span>-pgdg main».
  3. Напечатайте команду для загрузки — wget. С параметром «—quiet -O». Скопируйте ссылку на файл «- postgresql.org/media/keys/ACCC4CF8.asc», чтобы его скачать. В той же строке введите «| sudo apt-key add -» для ключа. Всё с дефисами и вертикальной чертой. Кавычки уберите.
  4. Обновите систему — «apt-get update». Для этого нужны права администратора (sudo).
  5. Теперь можете ставить саму программу — «apt-get install postgresql-».

Далее, скачайте клиент, Contrib и графическую оболочку. Утилита готова. Но нужно её настроить.

Using PostgreSQL Roles and Databases

By default, Postgres uses a concept called “roles” to aid in authentication and authorization. These are, in some ways, similar to regular Unix-style accounts, but Postgres does not distinguish between users and groups and instead prefers the more flexible term “role”.

Upon installation Postgres is set up to use “ident” authentication, meaning that it associates Postgres roles with a matching Unix/Linux system account. If a Postgres role exists, it can be signed in by logging into the associated Linux system account.

The installation procedure created a user account called that is associated with the default Postgres role. In order to use Postgres, we’ll need to log into that account. You can do that by typing:

You will be asked for your normal user password and then will be given a shell prompt for the user.

You can get a Postgres prompt immediately by typing:

You will be auto-logged in and will be able to interact with the database management system right away.

However, we’re going to explain a little bit about how to use other roles and databases so that you have some flexibility as to which user and database you wish to work with.

Exit out of the PostgreSQL prompt by typing:

You should now be back in the Linux command prompt.

Установка и настройка PostgreSQL на Windows

Помимо Linux версии ПО, у проекта имеется версия, установка которой рассчитана под системы семейства Windows. Плюсом здешнего инсталлятора можно назвать встроенная возможность установки программы совместно с pgAdmin4 — графической оболочкой для общения с PostgreSQL. Чтобы осуществить установку пакета, необходимо:

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

Требуется отыскать скачанный пакет и запустить его. При этом могут начать устанавливаться дополнительные библиотеки, такие как Microsft Visual C++, и после этих процессов появится главное окно PostgreSQL Installer, в котором нужно нажать Next.

Далее, установщик попросит указать директорию для распаковки файлов

Если это неважно, можно оставить все как есть и не вводить команды

Следующее окно служит для выбора необходимых компонентов.

Теперь один из важнейших шагов – установка директории для хранения баз данных.

На данном экране необходимо указать и подтвердить пароль для подключения к базам.

Укажите порт, на котором будет функционировать PostgreSQL. Если это не принципиально, можно оставить по умолчанию.

Установка кодировки данных – рекомендуется оставить стандартную во избежание проблем в будущем.

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

На завершающем этапе инсталлятор предложит запустить Stack Builder для доступа к расширениям функционала. Чаще всего этого не требуется, так что галочку следует убрать, после чего задать команду Finish.

Настройка

В отличие от Linux, версия ПО под Windows не требует редактировать файл конфигурации PostgreSQL через командную строку. Все взаимодействие с СУБД происходит через графический интерфейс. Для его запуска и начала настройки необходимо:

Найти и запустить в меню Пуск приложение pgAdmin 4.

С недавних пор pgAdmin работает через веб-интерфейс, и открывается через установленный в системе по умолчанию браузер.

Для того чтобы подключиться к локальному хранилищу, необходимо дважды щелкнуть левой кнопкой мыши по серверу PostgreSQL 11, спрятанному во вкладке Servers и ввести созданный на этапе установки пароль. Дабы система запомнила его, можно поставить галочку рядом с пунктом Save Password.

Для начала было бы хорошо сменить язык интерфейса. Это можно сделать специальной командой, зайдя в меню File – Preferences, отыскать там пункт User Language, сменить язык и нажать Ок. Если перевод не применился полностью, следует обновить страницу.

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

Введите желаемое имя, затем во вкладке справа включите все права.

Нажмите сохранить.

Таблица

Создание таблиц и значений внутри пользовательского интерфейса гораздо проще, нежели чем работа в СУБД из-под Linux, и не вызовет вопросов у новичков, что положительно сказывается на продуктивности. Однако создание самой базы не столь очевидно. Для этого нужно раскрыть корневой каталог сервера, перейти в каталог с базами и создать новую через меню, вызываемое нажатием правой кнопки мыши.

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

В базе данных раскройте подпункт Схемы – Public. Найдите пункт Таблицы, нажмите правой кнопкой мыши и создайте таблицу.

Введите название, выберите владельца и нажмите Сохранить.

На этом настройка завершена.

Установка

Установите 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-11
 * 
 * Information on options that can be passed to initdb are found at:
 *     http://www.postgresql.org/docs/11/static/creating-cluster.html
 *     http://www.postgresql.org/docs/11/static/app-initdb.html
 * 
 * PG_INITDB_OPTS is currently set to:
 *     --encoding=UTF8
 * 
 * Configuration files will be installed to:
 *     /etc/postgresql-11/
 * 
 * The database cluster will be created in:
 *     /var/lib/postgresql/11/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/11/data... ок
создание подкаталогов... ок
выбирается значение max_connections... 100
выбирается значение shared_buffers... 128MB
выбор реализации динамической разделяемой памяти... posix
создание конфигурационных файлов... ок
выполняется подготовительный скрипт... ок
выполняется заключительная инициализация... ок
сохранение данных на диске... ок

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

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

    /usr/lib64/postgresql-11/bin/pg_ctl -D /var/lib/postgresql/11/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-11/postgresql.conf
 * 
 * The PostgreSQL server, by default, will log events to:
 *     /var/lib/postgresql/11/data/postmaster.log
 * 
 * You should use the '/etc/init.d/postgresql-11' script to run PostgreSQL
 * instead of 'pg_ctl'.

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

Запустите PostgreSQL:

/etc/init.d/postgresql-11 start

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

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

rc-update add postgresql-11

 * service postgresql-11 added to runlevel default

dbExpress driver for PostgreSQL

Description License Pricing Publisher  

dbExpress Driver for PostgreSQL is a database-independent layer that defines common interface to provide fast access to PostgreSQL from Delphi and C++Builder on Windows and Mac OS X for both 32-bit and 64-bit platforms.
For this server, dbExpress provides a driver as an independent library that implements the common dbExpress interface for processing queries and stored procedures.

As data-access layer is thin and simple, dbExpress provides high performance database connectivity and is easy to deploy. You can use dbExpress driver for PostgreSQL in the same way as the one supplied by Embarcadero.

Direct Mode

Allows your application to work with PostgreSQL directly without involving PostgreSQL connectivity solutions, thus significantly facilitating deployment and configuration of your applications.

DB Compatibility

Our product supports the latest PostgreSQL server versions up to 11. We also provide compatibility with Microsoft Azure Database for PostgreSQL and Google Cloud for PostgreSQL.

IDE Compatibility

Our product is compatible with the latest IDE versions and editions including Community Edition: Embarcadero RAD Studio 10.3 Rio, Delphi 10.3 Rio and C++Builder 10.3 Rio. It is also compatible with the previous IDE versions since Delphi 6 and C++Builder 6.

Learn more about dbExpress Driver for PostgreSQL on Devart website.

Commercial 129.95 Devart View

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».

Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

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

По умолчанию PostgreSQL использует так называемые роли. Роли чем-то похожи на учётные записи пользователей и на группы Unix-подобных систем.

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

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

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

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

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

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

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

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

Это вернёт командную строку postgres в Linux.

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

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

Чтобы получить доступ к командной строке Postgres, запустите команду psql как пользователь postgres с правами sudo:

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

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

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

На данный момент в СУБД есть только одна роль, postgres. Чтобы создать новую роль, используйте команду createrole. Чтобы создать роль в интерактивном режиме, добавьте флаг –interactive.

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

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

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

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

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

По умолчанию роль Postgres запрашивает одноименную базу данных. Потому следует создать такую БД для нового пользователя.

Только что вы создали нового пользователя ( в руководстве он условно называется 8host). Для создания БД используется команда createdb.

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

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

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

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

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

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

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

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

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

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

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

Настройка кластера и клиента

На любой компьютер в сети установим толстый клиент 1С:Предприятие той же версии, что и сервер. Во время установки обязательно выбираем компонент Администрирование сервера 1С:Предприятие:

Устанавливаем клиента 1С. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора:

Теперь запускаем утилиту Администрирование серверов 1С Предприятия:

В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers — выбираем Создать — Центральный сервер 1С:Предприятие 8.3:

Пишем имя сервера 1С или его IP-адрес:

… и нажимаем OK. В панели управления появится подключение — переходим в раздел Кластеры — Локальный кластер — кликаем правой кнопкой по Информационные базы — выбираем Создать — Информационная база:

Заполняем параметры для создания новой базы:

* в данном примере нами были заполнены:

  • Имя — задаем произвольное имя для подключения к базе.
  • Сервер баз данных — имя или IP-адрес базы. Задаем localhost, так как в нашем случае сервер 1С и сервер баз данных находятся на одном сервере.
  • Тип СУБД — выбираем PostgreSQL.
  • База данных — имя базы данных.
  • Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
  • Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
  • Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.

Если мы получим ошибку Этот хост неизвестен:

… необходимо убедиться, что имя сервера разрешается в IP-адрес. Для этого необходимо его добавить в локальную DNS или файл hosts.

База должна создастся. Теперь запускаем 1С клиент и добавляем новую базу — при добавлении выбираем Добавление в список существующей информационной базы:

Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:

Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся.

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

Если «веб морда» расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С — это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

Настройка с доступом по паролю

Настройка пользователя postgres

Задайте пароль для пользователя :

psql -U postgres

psql (11.2)
Введите "help", чтобы получить справку.
postgres=# \password
Введите новый пароль:
Повторите его:
postgres=# \q

Настройка доступа к базам

Выполните настройки доступа к SQL-серверу, разрешив доступ только локальным запросам и из локальной сети 192.168.0.0/24:

/etc/postgresql-11/pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     password
# IPv4 local connections:
host    all             all             127.0.0.1/32            password
host    all             all             192.168.0.0/24          password
# IPv6 local connections:
#host   all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local  replication     all                                     trust
#host   replication     all             127.0.0.1/32            trust
#host   replication     all             ::1/128                 trust

Через запятую укажите IP-адреса, которые должен слушать сервер PostgreSQL:

/etc/postgresql-11/postgresql.conf

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '192.168.0.1,127.0.0.1' # what IP address(es) to listen on;
                                           # comma-separated list of addresses;
                                           # defaults to 'localhost'; use '*' for all
                                           # (change requires restart)

Заметка

Если нужно, чтобы сервер был доступен на всех сетевых интерфейсах, вместо IP-адресов укажите .

Перезагрузите сервис баз данных:

/etc/init.d/postgresql-11 restart

postgresql-11 | * Stopping PostgreSQL 11 (this can take up to 92 seconds) ...  ok 
postgresql-11 | * /run/postgresql: correcting mode
postgresql-11 | * Starting PostgreSQL 11 ...                                   ok 

Проверьте, какие порты работают:

netstat -an

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0      0 192.168.0.1:5432        0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
udp        0      0 127.0.0.1:41006         127.0.0.1:41006         ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2           STREAM     LISTENING     281718   /run/postgresql/.s.PGSQL.5432

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

Создайте базу данных dbtest и пользователя test для работы с ней:

psql -U postgres

Пароль пользователя postgres: 
psql (11.2)
Введите "help", чтобы получить справку.

postgres=# create database dbtest;
CREATE DATABASE
postgres=# create role test with login;
CREATE ROLE
postgres=# \password test
Введите новый пароль: 
Повторите его: 
postgres=# grant connect, create on database dbtest to test;
GRANT
postgres=# \l dbtest
                                 Список баз данных
    Имя    | Владелец | Кодировка | LC_COLLATE |  LC_CTYPE  |     Права доступа     
-----------+----------+-----------+------------+------------+-----------------------
 dbtest    | postgres | UTF8      | ru_RU.utf8 | ru_RU.utf8 | =Tc/postgres         +
           |          |           |            |            | postgres=CTc/postgres+
           |          |           |            |            | test=Cc/postgres
(1 строка)

postgres=# \q

Необходимая база и пользователь созданы.

Проверьте подключение к базе данных:

psql -U test -d dbtest

Пароль пользователя test:
psql (11.2)
Введите "help", чтобы получить справку.

test=> \q
Добавить комментарий

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

Adblock
detector