LINUX.ORG.RU

75
Всего сообщений: 592

PostgreSQL и OLAP

PG 10й версии, данных не много (вся база в пару десятков мегабайт, рост будет, но до гигабайтов дойдет не скоро), но надо сделать интерфейс для бухгалтерии в Excel.

Кто сталкивался? Какой сервак OLAP брать? Какие есть подводные камни?

 , ,

Norgat ()

1С Батл: PostgreSQL 9,10 vs MS SQL 2016

https://infostart.ru/public/962876/

Типовая база бухгалтерии содержит 6 тысяч таблиц и 20 тысяч индексов. Значит, одна база будет в Postgres представлена 26 тысячами файлов. На наших серверах мы примерно делаем по 60 баз на один instant Postgres, это в районе 2 миллионов файлов. С таким количеством файлов Linux управляется, как мы видим, почти в 2 раза быстрее, чем Windows.

Поэтому если вы уже всерьез на Postgres, а всерьез – это наличие хотя бы 20 сессий, начинайте подумывать о переходе на Linux. Причем, не обязательно железный, можете на этой же винде, если сильно страшно, то поднимите hyper-v, поднимите виртуалку, на эту виртуалку ставьте Linux, ставьте Postgres, и получите отличный эффект. Проверено!

От себя скажу что использую PostgreSQL 9.6 на базах 1С Камин 5.5. Клиент впервую очередь сталкивается не с ожиданием ответа от сервера, а с ожиданием завершения рендеринга форм на своей стороне (если много рендерить), и жалобы поступают именно на такие места.

Внимание, текст содержит TL;DR

 ,

Shulman ()

Linux админ, Зеленоград, от 100 т. р.

Компания «Миландр» (http://www.milandr.ru), один из крупных российских разработчиков и производителей интегральных микросхем.
Ищем системного администратора для работы в одном из проектов компании.

Требования

  • Опыт администрирования ОС семейства Linux
  • Опыт работы с Docker
  • Опыт работы с приложениями и сервисами: Nginx, PostgreSQL, Redis, JRE и др.
  • Опыт написания скриптов на любом не компилируемом языке
  • Понимание принципов построения отказоустойчивых сервисов
  • Понимание принципов работы систем балансировки нагрузки
  • Опыт работы с системами мониторинга
  • Опыт управления бэкапами

Должностные обязанности.

  • Построение и развитие серверной архитектуры проекта (Linux);
  • Администрирование серверов баз данных PostgreSql (администрирование на уровне запущенности сервисов, бэкапирования и восстановления. Не требуется оптимизация, анализ планов исполнения и пр.)
  • Настройка и контроль систем мониторинга
  • Настройка и контроль резервного копирования
  • Автоматизация развертывания и обновления сервисов
  • Оптимизация производительности и безопасности сервисов
  • Взаимодействие с провайдерами услуг (ЦОД, передача данных)

Мы Вам предлагаем:

  • Белая заработная плата, оформление по ТК
  • Стабильный оклад
  • Работа в стратегически важном для компании направлении
  • Дружественная и позитивная обстановка в коллективе

А теперь своими словами.

Компания разработала программный комплекс: Java, Tomcat, Postgresql, Redis.
Требуется подготовить серверную инфраструктуру для нормальной работы комплекса, с возможностью масштабирования и резервирования.
Нагрузки на систему сейчас практически нет, поэтому всё развёртывание в спокойном режиме, не на живую.

По перспективам роста - предполагается, что в дальнейшем, эта позиция перерастёт в руководителя отдела эксплуатации.

Территориально - офис в Зеленограде.
Режим работы с 10 до 19.
Предрассудков по поводу возраста или пола нет.
Обеды оплачиваются, столовая хорошая.
Коллектив адекватный.
По деньгам: вопрос обсуждается. Для начала разговора - от 100 тыс. р.

Вопросы и резюме лучше слать на почту dubledorm@gmail.com

 , , ,

azirumga ()

Postgresql 11 + 1с Бэкапы

Делаю выгрузку базу из Postgresql 11, база 1с. 8.3

pg_dump -Fc BAZA-NAME | gzip > /mnt/backup_nas_home/DB/BAZA-NAME.pgsql.`date "+%Y_%m_%d".gz`
Во время создания базы проскакивает:
pg_dump: [sorter] ПРЕДУПРЕЖДЕНИЕ: не удалось разрешить цикл зависимостей для следующих объектов:
pg_dump: [sorter]   DUMMY TYPE __acc16_s_hpk  (ID 70030 OID 9273037)
pg_dump: [sorter]   DUMMY TYPE _acc16_s_hpk  (ID 70191 OID 9273038)
pg_dump: [sorter]   INDEX _acc16_s_hpk  (ID 88333 OID 9273036)
pg_dump: [sorter]   POST-DATA BOUNDARY  (ID 94778)
pg_dump: [sorter]   TABLE DATA _yearoffset  (ID 88565 OID 169822)
pg_dump: [sorter]   PRE-DATA BOUNDARY  (ID 94777)
Как с этим бороться?

 , ,

iliaxxx ()

Pacemaker не запускает ресурсы jboss и pgsql

Привет парни!

Тестирую pacemaker на двух серверах.

На двух нодах стоит CentOS 7 x64

jdk-7u80-linux-x64 JBoss 7.1.1 Final Pgsql (PostgreSQL) 9.2.24

pcs --version 0.9.165

Настроил 3 ресурса. IPaddr2 работает без проблем. А вот с jboss и pgsql проблемы. При чем если их запустить командами

/bin/sh /usr/lib/ocf/resource.d/heartbeat/pgsql start /bin/sh /usr/lib/ocf/resource.d/heartbeat/jboss start

они работают, но pacemaker их не видит.

[root@centos-test1 heartbeat]# pcs status --all
Cluster name: test
Stack: corosync
Current DC: centos-test1 (version 1.1.19-8.el7_6.2-c3c624ea3d) - partition with quorum
Last updated: Wed Dec 26 06:58:21 2018
Last change: Wed Dec 26 06:07:27 2018 by root via cibadmin on centos-test1

2 nodes configured
3 resources configured

Online: [ centos-test1 centos-test2 ]

Full list of resources:

 virtual_ip     (ocf::heartbeat:IPaddr2):       Started centos-test1
 jboss  (ocf::heartbeat:jboss): Stopped
 pgsql  (ocf::heartbeat:pgsql): Stopped

Failed Actions:
* jboss_start_0 on centos-test1 'unknown error' (1): call=18, status=Timed Out, exitreason='',
    last-rc-change='Wed Dec 26 06:08:16 2018', queued=0ms, exec=20002ms
* pgsql_start_0 on centos-test1 'not configured' (6): call=15, status=complete, exitreason='',
    last-rc-change='Wed Dec 26 06:07:56 2018', queued=0ms, exec=115ms
* jboss_start_0 on centos-test2 'unknown error' (1): call=14, status=Timed Out, exitreason='',
    last-rc-change='Wed Dec 26 13:07:04 2018', queued=0ms, exec=20002ms


Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
  

В ocf::heartbeat: были ошибки с переменными окружения, в файлах пришлось явно указывать:

# Initialization:

: /usr/lib/ocf/lib/heartbeat
. /usr/lib/ocf/lib/heartbeat/ocf-shellfuncs

#: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
#. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs

В логах corasync пишет:

( corasync.log )

Почему не работает не понимаю, подскажите где что посмотреть.

 , , , ,

zamzam ()

Системный администратор Linux, г.Москва, 120к-150к

В ИТ-компании «Космос» группы Компаний «Меркурий» разрабатываются несколько проектов-сервисов (b2b и b2c) и мобильных игр, ориентированные как на рынки СНГ, так и Европы, США. В рамках нового направления интернет-проектов на постоянную занятость в офисе мы дополнительно ищем Системного администратора Linux.

Вам предстоит:

--Развертывание, настройка, администрирование и поддержка работы физических и виртуальных серверов на базе Linux, как разработки, так и клиентской части;

--Подготовка конфигурации для новых сервисов, настройка соответствующего ПО;

--Проектирование и развертывание горизонтально масштабируемой инфраструктуры;

--Поддержание непрерывной работы серверов на базе Linux;

--Анализ узких мест в системе, разработка вариантов оптимизации;

--Управление резервным копированием;

--Подготовка отчетности по вверенному парку технологий;

--Непосредственное участие в работе команды.

Мы хотим видеть:

--Опыт работы в аналогичной должности от 3 лет;

--Уверенное знание Linux, протокола TCP\IP;

--Опыт развертывания и поддержки nginx, PostgreSQL, memcached, redis, git;

--Опыт администрирования баз данных NoSQL, NodeJs;

--Знание технологий виртуализации;

--Технический английский язык;

--Умение формулировать и устно выражать свои мысли.

Мы предлагаем:

-- Оформление по Трудовому законодательству;

-- График работы: 5-дневная рабочая неделя, 8-ми часовой рабочий день, гибкое начало рабочего дня;

-- Место работы – Центральный офис в бизнес-центре класса А, рядом с метро Чеховская/Пушкинская;

-- Конкурентоспособный уровень дохода (условия обсуждаются с успешным кандидатом индивидуально), стабильные выплаты 2 раза в месяц.

 , ,

Kosmos ()

Проблема с переключением на новый лог в Barman

Привет, коллеги.

Имею следующую ситуацию. По непонятным пока причинам при попытке резервного копирования БД PostgreSQL инструментом Barman, возникает проблема (если сделать чек конфигурации):

WAL archive: FAILED (please make sure WAL shipping is setup)

Данная ситуация, как известно, решается (точнее, должна решаться) выполнением:

barman switch-xlog --force --archive <server_name>

но по каким-то причинам на некоторых серверах лог переключается и всё в норме, а на некоторых переключения не происходит, Barman говорит что-то типа:

The WAL file 000000010000001400000067 has been closed on server 'server-name'
Waiting for the WAL file 000000010000001400000067 from server 'server-name' (max: 30 seconds)
ERROR: The WAL file 000000010000001400000067 has not been received in 30 seconds

Увеличение таймаута не помогает. Логи ничего не говорят (за исключением ситуаций, когда, например, проблема с аутентификацией в pg_hba). Если выполнить проверку конфигурации barman check для сервера, то все пункты будут ОК, кроме указанного выше. На нескольких серверах конфиг для barman одинаковый, но где-то есть проблема, где-то нет.

Из-за чего может происходить данная ситуация, чего может не хватать? Хотелось бы понимать, выполнение каких условий необходимо для однозначного успешного выполнения

barman switch-xlog --force --archive <server_name>

 , ,

yellowboy ()

postgresql ON CONFLICT DO UPDATE

[INSERTSRCDST]
dsn=work
writesql=INSERT INTO transfer (clientnumber,number) VALUES ('${SQL_ESC(${VAL1})}','${SQL_ESC(${VAL2})}')
ON CONFLICT (clientnumber)
DO
 UPDATE
   SET number = '${SQL_ESC(${VAL2})}';

Нужно что бы поле number заменялось на VAL2, если clientnumber уже существует. Ни как не пойму как это сделать.. Подскажите пожалуйста.

 

madcry ()

postgre sql

Доброе время суток.

Подскажите, как хранить запись в таблице базы данных хранить запись определенное время? Как указать что бы к примеру запись хранилась 24 часа и удалялась?

Спасибо.

 

madcry ()

Как ручками восстановить базу PostgreSQL из WAL на конкретную дату?

Всем привет!

В общем есть кластер из примерно 100 баз.

Ведется архив WAL, но он делается для всего кластера! Как сделать архивацию/восстановление для конкретной базы?

Я уже задавал этот вопрос, теперь буду упираться в его решение.

Мне хочется понять именно сам механизм. Мне уже советовали всякие Backula, но они так же работают с кластером!

Я хочу напилить свой механизм для решения данной проблемы.

 , , ,

Shulman ()

Форумы слоноводов

Накидайте пожалуйста форумов DBA PostgreSQL

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

 ,

Shulman ()

Оптимизация работы PostgreSQL 9.6

Такой вопрос.

Есть примерно 100 баз 1С. Камин 5.5.

В каждой работает по 2-3 пользователя. Нельзя сказать чтобы Камин была легковесной, но если сравнивать ее работу с LOR, то она тормозит.

Виртуалка сервера лежит на SSD, всего ОЗУ 16 гигов, 8 ядер проца, общий объем баз примерно 80 гигабайт.

Где то я читал что ЛОР использует такой объем ОЗУ, чтобы туда вся база помещалась.

Может нам так поступить? Добавить ОЗУ до уровня скажем 64 гигабайта?

https://pgtune.leopard.in.ua/ пользуюсь. В общем сейчас все настроено в соответствии с ним. Сам PostgreSQL из репа http://1c.postgrespro.ru/deb/, с оптимизацией под 1С.

Надо сказать, что время выхода пользователей на «работу» предсказуемо.

Известно, что последние числа месяца и середина месяца самые горячие.

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

Ну казалось бы, платежки 2 раза в месяц формируются, и занимает это по словам бухгалтера аж 5 минут! В общем то я посмотрел, меньше минуты формируется печатная форма на 200 листов.

Можно сказать, что все это закидоны и сидеть на попе ровно, но что то подвигало меня написать этот пост. Наверное, потому что PostgreSQL это тема, и вообще будущее для 1С.

Сервер Debian 9, VMWare ESX 6.0, SSD, 8 ядер AMD, 16 гигабайт ОЗУ.

 , , ,

Shulman ()

File-based DB и RDBMS (реализация транзакций и многопользовательского доступа)

Как в File-based DB и в серьёзных RDBMS реализованы транзакции?

Как в Линуксе реализована изоляция транзакций (Oracle, MSSQL, PostgreSQL, MySQL, SQLite)?

Во многих ли DBMS/file-based DB каким-либо специальным образом реализован многопользовательский доступ (multi-client design)?

Что порекомендуете почитать (не сухую литературу, а какие-то живые истории и tricks) по технологиям, используемым для DB в Linux?

 , , , ,

pacify ()

Избежать кучи таблиц в Postgres'е

Привет, ЛОР.
Вопрос такой: есть сервис, есть его БД в постгресе, у этого сервиса, допустим, 1000 пользователей.

Для каждого пользователя имеется возможность создания таблички кастомной обработки правил (пусть это будут правила совершения вызовов на телефон пользователя), так вот, вопрос — как правильнее всего поступить?


1 вариант — табличка обработки вызовов для всех общая;

table_rules
---------------------------------
owner | phone | ruleid | ...


И к каждому правилу мы приписываем owner и phone, что, как мне кажется, не есть правильно.

2 вариант — табличка под каждый номер телефона:

table_12000000001_rules
---------------------------------
ruleid | ...


Но тогда в «корне» БД будут сотни, тысячи таких таблиц, что тоже, наверное, не есть хорошо.

Может, есть ещё какие-то варианты?
Как это грамотнее реализовать в postgresql?

 

annerleen ()

Программист C++/Linux в СПБ

Санкт-Петербург Full stack programmer

Должностные обязанности:

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

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

Требования:

  • Написание ПО под Linux (знание Raspberry будет плюсом)
  • Хорошие знания C++, Qt
  • Знание WebAPI и принципов SOA
  • Опыт работы с реляционными СУБД (Microsoft SQL Server или PostgreSQL), знание SQL
  • Unit- и интеграционное тестирование разрабатываемых систем

Будет плюсом:

  • Понимание принципов работы интерфейсов UART\SPI, стандарта RS485
  • Готовность показать готовые проекты (включая исходники)

Условия:

  • Работа контрактная (проектная).
  • Возможна работа дома, либо в офисе (ст.м.Петроградская).
  • По результатам работы с данным проектом могут быть предоставлены другие интересные, масштабные и сложные задачи и проекты
  • Уровень дохода обсуждается индивидуально с успешным кандидатом.

Контакты: ООО «Лабоматикс»

E-mail: info@labomatix.org

Аналитик Владислав: Телефон/телеграмм: +7(952)097-1492

Менеджер проекта Эльвира: Телефон/телеграмм: +7(931) 005-9883 Skype: alviire

 , , ,

Labomatix ()

PosgreSQL как хранить пользователей

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

 , ,

rumgot ()

Данные из файла в sql

я его в кино водил. Есть данные в файле:

ls -la /home/tmp/
итого 56
drwxr-xr-x. 2 postgres postgres  4096 Авг  5 05:01 .
drwxr-xr-x. 4 root     root      4096 Авг  5 04:10 ..
-rw-r--r--. 1 postgres postgres 48348 Авг  5 05:01 data.txt
в формате
random|random|random|random|random|random|random
хочу из файла добавить данные в таблицу postgres
pnh=# copy table_pnh from '/home/tmp/data.txt' (DELIMITER ('|'));
ОШИБКА:  ошибка синтаксиса (примерное положение: "(")
СТРОКА 1: copy domains from '/home/tmp/domains.txt' (DELIMITER ('|'));

 ,

whitedevil ()

JSON теперь в SQL: SQL/JSON

Монгокапец

Объектная модель данных теперь в SQL: хранение, запросы, прозрачная интеграция с реляционной схемой.

Part 6: SQL support for JavaScript Object Notation (JSON) https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_...

Уже в Постгресе (то ли в последнем выпущенном, то ли в надвигающемся).

 , , , ,

bender ()

Правильно ли принципиально тут изложен принцип работы CHECKPOINT внутри PostgreSQL?

Накидал тут своё понимание того, как checkpoint работает в postgres. Можете покритиковать?

https://telegra.ph/postgreSQL-checkpoint-logic-11-14

 

onetimepad ()

Нубский вопрос про чтение данных

Раньше я с базами данных не работал а тут неожиданно пришлось иметь дело.

Есть БД на postgresql. В ней есть таблица на 1-2 млн. записей. В конечном итоге надо её всю считать, и записать данные на диск разбив по группам. Группы определяются значением полей. На группу приходится около 10 тыс. записей

Вопрос:

Что рациональнее с точки зрения производительности и потребляемой памяти - переложить выборку по группам на БД или делать это самому?

Насколько быстрее запросы вида " SELECT ... WHERE some_field='some_id' " выполняются по сравнению с ручной обработкой?

 ,

pathfinder ()