Postgresql windows and linux

1С и Linux

Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.

суббота, 23 марта 2019 г.

Тест 1С и PostgreSQL Windows vs PostgreSQL Linux on Windows

Сравним на одной Windows 10 машине тест гилева(без настройки postgresql.conf)

с PostgreSQL, версия 10.5-24.1C
на Windows

с PostgreSQL, версия 10.5-24.1C на Linux на виртуальной машине vbox сервер 1с на Windows

На той же Windows машине 1C и PostgreSQL под Linux на vbox guest host на Windows

Тест расчета зарплаты на 3000 сотрудников (с оптимизацией postgresql.conf):

с PostgreSQL, версия 10.5-24.1C на Windows

Заполнить 317
Провести 215

с PostgreSQL, версия 10.5-24.1C на Linux на виртуальной машине vbox сервер 1с на Windows
Заполнить 465
Провести 371

На той же Windows машине 1C и PostgreSQL под Linux на vbox guest host на Windows
3. Заполнить 740
Провести 647

Провести и закрыть: 215

Короче миф не нашел подтверждения.

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

Более слабое железо, ниже частота процессора, SATA2
G2020
с настройкой postgresql.conf и без тж
Заполнить: 229 с
Провести: 222 с

1cfresh.com
Заполнить: 225 с
Провести: 260 с

i7-6700
1. Без настройки postgresql.conf и без тж
Заполнить: 156 с
Провести: 114 с

Вывод (сравниваем с G2020 более слабое железо):
1. под Linux (при установке Linux непосредственно на железо) система 1С + PostgreSQL работает минимум в 1,5 раза быстрее (скорее в 2), чем аналогичная на Windows.

2. Linux установленный поверх Windows на виртуальной машине (VirtualBox), даёт замедление работы 1С + PostgreSQL на Linux по сравнению с 1С + PostgreSQL установленной на Windows.

3. PostgreSQL установленный на Linux установленный поверх Windows (cредства виртуализации VirtualBox под Windows) даёт замедление работы 1С (Windows)+ PostgreSQL (Linux) по сравнению с 1С + PostgreSQL установленной на Windows.

Как установить PostgreSQL — решения для Windows, Mac OS X, Linux

Как установить PostgreSQL? Для Microsoft Windows , Mac OS X и Linux существует один установщик. Его можно скачать здесь . Кликните по иконке нужной версии установки PostgreSQL , соответствующей вашей операционной системе.

В некоторых из инструкций предполагается, что вы устанавливаете PostgreSQL 9.1. Если устанавливаете более новую версию, замените в этих инструкциях 9.1 на номер инсталлируемой вами версии СУБД.

Запустите установку

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

  • Когда вас попросят выбрать локаль, выберите UTF-8 . Если варианта UTF-8 в списке нет, выберите вариант UTF-8 в списке локалей для языка. Например, en_US.UTF-8 для английского языка США;
  • Если программа попросит установить StackBuilder – он инсталлирует некоторые дополнительные инструменты Web , репликации и ODBC , которые не требуются для CollectionSpace . Но может потребоваться инсталляция некоторых модулей PostgreSQL , таких как PostGIS .

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

Настройка PostgreSQL

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

  • Найдите конфигурационный файл pg_hba.conf . Он расположен в подкаталоге data каталога, в котором установлена PostgreSQL ;
  • Откройте этот файл в текстовом редакторе и следуйте приведенным ниже инструкциям;

В Mac OS X по умолчанию это папка /Library/PostgreSQL/9.1.
В Mac OS X нужно иметь права супер пользователя, чтобы редактировать любой из следующих файлов конфигурации.

  • Убедитесь, что для « local section » указано последнее слово md5 , а не ident :
  • Измените раздел « IPv4 local connections » следующим образом:

Это ограничивает набор пользователей PostgreSQL , которым предоставляется локальный доступ к трем базам данных, используемым CollectionSpace: jbossdb , nuxeo и cspace . Например, только пользователь с именем cspace или супер пользователь PostgreSQL с именем postgres может получить доступ к базе данных cspace с локальной машины.

При установке PostgreSQL 9.x на Windows 7 может не принять термин samehost в столбце CIDR-ADDRESS . Если это произойдет, используйте адресную форму 127.0.0.1/32 :

  • Убедитесь, что записи в разделе « IPv6 local connections » отключены. В качестве первого символа в строках указывается символ хэш ( # ), если только в вашей системе не активен IPv6 :

Современные системы, работающие под управлением Windows 7 и Windows Vista , могут поставляться с включенным по умолчанию IPv6 . Если в вашей системе включен IPv6 , можно поэкспериментировать со следующей конфигурацией — указать ::1/128 для адреса localhost :

  • Если нужно разрешить создание отчетов при подключении к БД с удаленных хостов, тогда следует добавить запись, подобную приведенной ниже, но указав свой адрес подсети. Приведенная ниже конфигурация позволит создавать отчеты удаленно с хостов в определенной подсети UC Berkeley . Для получения дополнительной информации о том, как указать адрес подсети, ознакомьтесь с документацией по pg_hba.conf для используемого релиза PostgreSQL .
Читайте также:  Lets you choose to keep or remove your personal files and then reinstall windows перевод

Чтобы автор отчетов мог работать, придется внести еще одно изменение в значение listen_addresses в файле postgresql.conf . Подробнее о поиске этого файла рассказано ниже.

Если вы можете контролировать доступ к PostgreSQL через брандмауэр, то проще ввести значение listen_addresses «*» . Для большей безопасности можно ввести список разделенных запятыми IP-адресов , с которых будут связываться авторы отчетов.

Далее после PostgreSQL установки и настройки Windows нужно внести изменения в конфигурационный файл PostgreSQL :

  • Найдите файл postgresql.conf , находящийся в папке data каталога, в котором установлен PostgreSQL ;
  • Откройте этот файл в текстовом редакторе и внесите следующие изменения:

Значение переменной max_prepared_transactions , равное 64 , может оказаться большим для вашей системы. Если это так, установите меньшее значение.

Если это значение действительно слишком велико для вашей системы, вы получите сообщение об ошибке при перезапуске PostgreSQL :
Restarting PostgreSQL … database server: main The PostgreSQL server failed to start. Please check the log output … FATAL: could not create shared memory segment: …

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

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

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

service postgresql restart

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

Флаг -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

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

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

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

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

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

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

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

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

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

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

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

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

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

psql c template1

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

psql -d template1 -U postgres

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

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

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

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

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

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

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

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

Дополнительная настройка

Дополнительная настройка базы данных является необязательной! CollectionSpace будет выполняться, даже если ни одно из описанных ниже действий не будет выполнено.

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

Читайте также:  Iis express with windows authentication

PostgreSQL установка и настройка Windows выполняется через postgresql.conf . Откройте этот файл в текстовом редакторе и отредактируйте следующие значения:

Теперь через командную строку задайте значение kernel.shmmax . Оно должно как минимум равняться shared_buffer + 128MB :

Затем перезапустите сервер PostgreSQL . Если на экране появится сообщение об ошибке, то нужно будет увеличить значение kernel.shmax .

Затем необходимо определить окончательное значение shmmax :

Откройте файл /etc/sysctl.conf .

И добавьте следующую строку — заменив значение для shmmax :

Наконец, установите необходимое значение cache_size :

Для этого запустите ( и выведите статистику в мегабайтах ):

В результате на экране вы увидите что-то наподобие этого:

Эффективное значение для cache_size определяется путем сложения значений buffers и cached . В приведенном выше примере:

253 + 1226 = 1479

К этому числу добавляется значение shared_buffers , поэтому в общей сложности мы получаем:

1479 + 512 = 1991

Снова отредактируйте файл postgres.conf и установите эффективный размер кэша — значение, выведенное нами в предыдущих шагах:

Также задайте следующие значения:

Перезагрузите установленный PostgreSQL , чтобы изменения вступили в силу.

Мы закончили настройку PostgreSQL . Обратите внимание, что приведенные в этом разделе значения являются примерными. Их необходимо устанавливать в соответствии с настройками вашей системы. Более подробную информацию о настройках можно найти здесь .

Установка PostgreSQL

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

Что такое PostgreSQL и зачем она нужна

PostgreSQL – система управления базами данных, после появления которой стал постепенно вытесняться более привычный MySQL. Дело в том, что в отличие от него PostgreSQL имеет ряд непоколебимых преимуществ, среди которых:

  1. Доступные улучшенные или отсутствующие в MySQL функции.
  2. Поддержка расширения возможностей.
  3. Надежная передача данных.
  4. Отсутствие блокировок чтения при параллелизации.

Стоит отметить также то, что привыкать к новому синтаксису почти не придется, ведь используемый в данной СУБД PL/pgSQL является практически братом близнецом Oracle MySQL.

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

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

Как установить PostgreSQL на Ubuntu

Установка и настройка PostreSQL в Ubuntu Linux довольно проста, но неочевидна для нового пользователя. В репозиториях Canonical изначально предусмотрена доступность необходимых пакетов, но для получения и установки наисвежайшей версии необходимо добавить в систему новый источник:

  • В терминале выполните команду sudo sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main» >> /etc/apt/sources.list.d/pgdg.list’
  • Подтвердите действие вводом пароля администратора.
  • Следующей в установке командой будет wget -q https://www.postgresql.org/media/keys/ACCC4CFasc -O — | sudo apt-key add –
  • Добавление завершено, нужно обновить список пакетов sudo apt update
  • Для начала установки нужно вписать команду sudo apt install postgresql postgresql-contrib
  • Введите большую букву “Д” для подтверждения согласия на установку.
  • Установка завершена.

Данная инструкция актуальна и для установки PostgreSQL в Linux Mint, Elementary OS и других производных от Debian — дистрибутивах.

Настройка PostgreSQL на Ubuntu

После установки в Linux – PostgreSQL необходимо его настроить перед началом работы. Дело в том, что данное ПО использует способ аутентификации с привязкой ролей, в каком-то смысле похожую на таковую в Unix-подобных системах. По умолчанию при установке один пользователь уже указан в СУБД — это postgre, аналог root для Linux. Работа из-под его имени крайне не рекомендуется, если не требуется внести глобальных изменений. Так что первое, что нужно сделать из команд при установке, – это создать иную учетную запись.

Создание пользователя PostgreSQL в Ubuntu

  • Откройте терминал и вбейте команду sudo su postgres Таким образом выполняется вход в учетную запись postgres Ubuntu стандартного пользователя.
  • Зайдите в консоль управление командой psql .
  • Укажите пароль для текущего пользователя \password postgres .
  • Создайте новую роль, введя команду create user username with password ‘123qwe’. Предварительно замените username на желаемый логин и 123qwe на нужный пароль.

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

Новая база данных и передача прав

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

  • Не выходя из терминала после предыдущих шагов, введите create database mybase ; mybase – название базы.
  • Передайте права новому пользователю командой grant all privileges on database mybase to username.
  • Готово, можно выходить из консоли \q.
Читайте также:  Сильная загрузка оперативной памяти windows 10

На этом первоначальная настройка завершается, и можно переходить к рассмотрению списка базовых команд по управлению СУБД.

Команды PostgreSQL Linux

Основные команды для работы с данной СУБД для Ubuntu выглядят так:

  1. Запуск работы с СУБД — sudo su postgres.
  2. Переключение в консоль – psql.
  3. Переход на работу с базой от имени созданного пользователя — psql -h localhost mybase username.
  4. Создание простейшей таблицы о, например, роботах -.

CREATE TABLE Robots (

engine_ver int, вариация двигателя.

color_ver int, вариация цвета.

usab real, уровень удобства управления.

Просмотр таблиц — \d

Добавление данных выполняется в две команды:

INSERT INTO Robots (type, color,) VALUES (‘slide’, ‘blue’, ‘south’, ‘2018-01-15’);

INSERT INTO Robots (type, color,) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-01-15’);

Удаление – DELETE FROM playground WHERE type = ‘blue’.

Перезапуск Postgresql – из нового окна Терминала выполнить sudo service postgresql restart.

Команды для крайнего случая, переустановка PostgreSQL :

apt-get install postgresql

Удаление PostgreSQL с Ubuntu

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

sudo rm -r /var/lib/postgresql/

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

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

  • Перейти на официальный сайт проекта – https://www.postgresql.org/download/windows/
  • На данной странице необходимо нажать Download the installer.
  • Произойдет перенаправление на страницу компании, занимающейся подготовкой и распространением дистрибутива программы. Тут напротив версии продукта нужно нажать кнопку Download под верным наименованием операционной системы и ее разрядностью, после чего начнется загрузка postgresql client.

Требуется отыскать скачанный пакет и запустить его. При этом могут начать устанавливаться дополнительные библиотеки, такие как 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 не такое сложное дело даже для новичка. Однако если опыта в этом деле нет, лучше придерживаться данного руководства, внимательно следуя шаг за шагом. В этом случае многих проблем можно избежать.

Оцените статью