Ответы пользователя по тегу PostgreSQL
  • Не могу создать нового юзера в постгрес. В чем причина?

    @Dementor
    программист, архитектор, аналитик
    1) Или сервер не запущен (проверять в службах или в процессах)
    2) Или запущен на нестандартном порту
    3) Или запущен не на локалхосту.

    Теоретически еще может быть файрвол, который блокирует 5434, но маловероятно.
    Ответ написан
    7 комментариев
  • Как подключиться к docker-контейнеру c PostgreSQL?

    @Dementor
    программист, архитектор, аналитик
    Начнем с главного. Докер - это фактически виртуалка. А виртуалка - это фактически изолированный отдельный хост.

    Если вы публикуете апку на контейнер с постгрей, то все ок - можно обращаться через локалхост. Если публикуете апку в отдельный контейнер, который вместе с постгрей поднимаете Докер Компоузером, то тоже все норм - главное в апке прописать название хоста, которое прописано для постгри в docker-compose.yml

    А вот если вы с основной машины хотите стучаться в службу на виртуалке, как в службу на основном хосте, то вам нужно или делать переброску портов, или зайти через консоль в контейнер, там проверить текущий айпишник, по которому будете стучаться с вашей IDE. У меня было так:
    ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
    Ответ написан
  • Как исправить ошибку загрузки информационной базы?

    @Dementor
    программист, архитектор, аналитик
    Наверное после строки
    2023-07-10 12:05:33.950 UTC [1365] ВАЖНО: база данных "zup_db" не существует

    дальше можно не читать. Бекап разворачивается не в той СУБД, где создавался.

    Причем, другие базы, загружаются без проблем.
    ХЗ, что там за базы. Может они созданы в этой СУБД и потому с ними все хорошо. Или там полные бекапы, а для ЗУПа сделан разностный (частичный).
    Ответ написан
    5 комментариев
  • Как устранить ошибку кодировки utf-8 при импорте базы 1с с файла database.dt (postgresql) Debian?

    @Dementor
    программист, архитектор, аналитик
    Вы пытаетесь развернуть базу с помощью psql как будто вам дали бэкап выполненный с помощью pg_dump.

    Это не так! DT - это внутренний формат бэкапирования баз 1С. Развернуть можно если открыть конфигуратор и выбрать в меню "Загрузить информационную базу". Или с помощью командной строки по ключику /RestoreIB
    Ответ написан
    Комментировать
  • Какие проблемы встречаются при использование PostgreSQL для 1c на Linux Mint?

    @Dementor
    программист, архитектор, аналитик
    Если поднимаете на Минте (по сути Дебиан) сервер 1С и вам не нужны виндузные примочки, то все будет отлично. В зависимости от того как разберетесь с конфигами у вас будет проседание производительности по сравнению с виндовс и скулем на точно таком же железе или наоборот получите выигрыш.

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

    @Dementor
    программист, архитектор, аналитик
    Пропущено несколько важных участков:
    1) не достаточно развернуть базу в СУБД, нужно убедится, что СУБД запущена и работает
    2) с базой в СУБД работает только служба сервера 1С - необходимо убедится, что служба правильно настроена и работает
    3) чтобы происходила работа с конкретной базой (которая восстановлена из бекапа), необходимо правильно прописать ее в настройках кластера сервера 1С
    4) чтобы работал доступ через веб-сервер, необходимо сперва установить и настроить веб-сервер
    5) чтобы работал доступ в 1С через веб-сервер, необходимо установить компоненты доступа
    6) чтобы работал доступ в конкретную базу 1С через веб-сервер, необходимо прописать в настройках веб-сервера обработку определенного линка компонентой доступа и указать параметры подключения на сервере 1С.

    ВАЖНО! Наименование в СУБД, наименование в кластере сервера 1С и наименование для веб-сервера - это три независимых наименования, которые могут отличаться. А если в мир для раздачи доступа смотрит проксирующий сервер (к примеру nginx), то добавляется еще четвертое наименование.
    Ответ написан
  • Если на одном linux сервере работает 1С и postgres, возможно через сокет подключиться к базе?

    @Dementor
    программист, архитектор, аналитик
    Странный вопрос. Все зависит от настроек.

    UPD. Поскольку речь шла про unix_socket, то ответ - НЕТ.
    Ответ написан
    7 комментариев
  • Как перенести базу 1C на MySQL, PostgreSQL или что нибудь подобное?

    @Dementor
    программист, архитектор, аналитик
    Вопрос очень старый, но он все еще проиндексирован и при этом не имеет ответа. Поэтому включаем режим "экстрасенса" :)

    есть xml файл на 2млн. строк, по сути база 1C
    Штатно базы 1С не выгружаются в XML. В XML можно выгрузить только конфигурацию или ее элементы. База штатно выгружается в архив *.dt
    Следовательно у автора вопроса есть выгрузка либо с помощью обработки "Обмен данными XML", которая позволяет хоть все данные выгрузить в XML-формате для загрузки в идентичную конфигурацию. Либо выгрузка с помощью конфигурации "Конвертация данных 2.0/1", которая выгружает указанные данные в XML-формате, который описан в этой служебной конфигурации.

    Нужно как-то перенести её в SQL или что-то подобное.
    Вероятно упоминается продукт MsSQL, так как SQL - это язык запросов. Практически все современные СУБД поддерживают импорт данных из файлов XML. Вот дока по MsSQL.

    Подумываю регнуть облачное хранилище для 1С, развернуть это всё дело там и как нибудь экспортировать в нужном формате.
    Если есть доступ к 1С, то проще сразу выгрузить в нужно формате. Второй вариант - грузить сырые данные в новую базу из XML файлов, а далее уже на месте редактировать структуру таблиц и чистить "мусор". Как вариант, можно SELECTами сделать выгрузку только нужной информации в файлы для последующей загрузки в финальной базе.
    Ответ написан
    Комментировать
  • Ubuntu 18.04: как перенести /var/run из оперативки на диск?

    @Dementor
    программист, архитектор, аналитик
    А может нужно просто открыть конфиг постгри и указать реально существующий каталог?
    Ответ написан
    Комментировать
  • Не получается настроить Postgres для 1С?

    @Dementor
    программист, архитектор, аналитик
    Все ответы в вашем вопросе:

    "/var/lib/pgpro/1c-10/data" is missing or empty.

    cannot create logfile: Permission denied


    По сравнению с виндой, на линуксе все проще - все настройки в текстовых файлах. Я перестал с линуксом работать еще до того, как люди перестали хаить systemd и отказались от System V. В те времена все стартовые файлики лежали в /etc/init.d. Как сейчас - гуглите и далее делайте в настройках запуска службы замену путей. В крайнем случае, можно даже запустить поиск по файлам на вхождение строки "/var/lib/pgpro/1c-10/data".
    Ответ написан
    Комментировать
  • Как работать с БД Postgres и 1с?

    @Dementor
    программист, архитектор, аналитик
    Програмисту 1с удалось настроить, вышеописанною схему

    Шутка в том, что выше нет никакой схемы и потому бред советуют.

    Упрощу до тезисов:
    1) Есть клиент 1С, который работает с сервером 1С
    2) Сервер 1С хранит свои данные в некоторой СУБД в оптимизированном для себя виде
    3) В качестве СУБД 1С может использовать 4 системы, в том числе PostgreSQL
    4) В качестве ОС для сервера 1С можно использовать в том числе Debian.

    Куда там ваш программист выгрузил каталог? В транзитную таблицу на постгре? Отлично! Если установлены ODBC-драйверы, то и ваш руби на рельсах и 1С смогут читать и писать эту общую таблицу.
    Ответ написан
  • Почему вываливается ошибка СУБД?

    @Dementor
    программист, архитектор, аналитик
    Если у вас версия 8.2, то это ошибка платформы - вам нужно обновится.

    Иначе вам нужно сделать VACUUM FULL VERBOSE для таблицы pg_catalog и если будут сообщения про ошибки, то нужно ее еще и переиндексировать. Если ошибки продолжаться, то нужно будет настроить регистрацию в технологическом журнале событий EXCP и DBPOSTGRS (запросы Postgresql), а потом отправить эти данные в службу поддержки.
    Ответ написан
    Комментировать
  • Как подружить 1с и postgres?

    @Dementor
    программист, архитектор, аналитик
    Если проблема в работе с конструктором строки подключения, то не используйте его - пропишите строку вручную (или скопируйте с другой программы, в которой тестировали). Я внешний источник подключал много лет назад, как только они появились, и единственная проблема с которой пришлось столкнуться была завязана на специфику реализации ODBC под линуксом (не ваш вариант).

    Еще, как вариант, можете заново скачать драйвер с сайта постгреса и переустановить его (возможно он просто как-то криво стал).
    Ответ написан
  • Почему возникает ошибка при восстановлении БД?

    @Dementor
    программист, архитектор, аналитик
    Попробуйте сделать архив с явным указанием кодировки UTF8.

    -E encoding
    --encoding=encoding
    Create the dump in the specified character set encoding. By default, the dump is created in the database encoding. (Another way to get the same result is to set the PGCLIENTENCODING environment variable to the desired dump encoding.)
    Ответ написан
  • Как избавиться от found orphan temp table в postgresql?

    @Dementor
    программист, архитектор, аналитик
    При случае киньте линк на нормальную книгу по ПГ

    Книга, которая должна быть рядом у русскоязычного админа - Работа с PostgreSQL: настройка и масштабирование авторства Алексея Васильева. Плюс связанный вопрос на тостере.

    По поводу вашей проблемы. Решать "что делать" должен человек с полномочиями и админским доступом - т.е. вы, а не какой-то анонимный советчик. В интернете на эту тему множество топиков (один из них) и ваша задача перебором добиться восстановления работы (кстати, многие пишут про вакуум для удаления таблиц-сироток - с него можете и начать). Меня в вашей истории больше смущает фраза "Сервак под win 2003 крешнулся". Пока вы не восстановите работоспособность файловой подсистемы, ничего хорошего вас не ждет.
    Ответ написан
    Комментировать
  • Как восстановит БД postgresql 1C (есть только папка в файлами базы)?

    @Dementor
    программист, архитектор, аналитик
    Если спасли каталог с базами и логами, то вам повезло. Устанавливайте на новом сервере Postgres, вместо новосозданного каталога с данными подсовывайте свой и запускайте службу.

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

    P.S. То что вы не делали бекапы - это плохо. Сейчас бы не мучались, а просто развернулись с архивчика.
    Ответ написан
    Комментировать
  • Кто встречался с проблемой медленной работы WS под Апачем в linux версии 1C 8.2?

    @Dementor
    программист, архитектор, аналитик
    Подобных проблем не было (было много других, которые намного хуже — вы даже не подозреваете сколько в линуксовом сервере 1С подводных камней).

    Давайте посмотрим с точки зрения здравого смысла.

    1) В конфигураторе запросы не выполняются — там происходит только конфигурирование и администрирование. Запросы вы выполняли скорее всего в тонком или толстом клиенте, который подключен к серверу. Поскольку вы упомянули конфигуратор, то склоняюсь к выводу, что речь идет именно о толстом клиенте с подключением к серверу в локальной сети по TCP.

    2) Веб-сервисы у вас подняты на Apache и обслуживаются с помощью апачевского модуля, который подобно тонкому/толстому клиенту подключается к серверу 1С по TCP, получает от сервера данные, а далее возвращает ответ клиенту по HTTP(S).

    На поверхности лежит вывод, что в обоих случаях сервер отрабатывает с одинаковой скоростью (если в моменты тестирования нагрузка был идентичной), а вот на обслуживание HTTP(s) запросов/ответов веб-сервером тратятся ваши лишние 50 секунд. Проверяйте в этом направлении — на 70% уверен, что или ваш Apache настроен через ж, или на нем кроме опубликованной 1С крутятся другие нагруженные приложения и время на 1С-вский модуль выделяется по остаточному принципу.

    Еще вариант, что вы не все рассказали. Моя вторая версия, что данные запроса в толстом клиенте вы получаете единой выборкой, а вот веб-сервис вы делаете не на единичный запрос, а на каждый элемент выборки заново устанавливаете ws-соединение. При таком подходе даже на выделенном сервере скорость веб-сервисов в случае больших данных будет в сотни и тысячи раз медленнее чем работа в 1С-вских клиентах.
    Ответ написан
  • Односторонняя синхронизация 1C => PostgreSQL

    @Dementor
    программист, архитектор, аналитик
    Для практически применимого ответа слишком мало информации.

    Во-первых, неизвестна платформа вашей 1С-базы и её конфигурация.
    Во-вторых, о второй учетной базе с данными в PostgreSQL вообще никакой информации нет — умеет ли работать с веб-сервисами, с xml-файлами, с Excel или просто с текстовыми файлами в конце-концов? А может это у вас еще одна 1С-кая конфигурация только на PostgreSQL?

    Не удивительно, что вы ничего не нагуглили :)
    Ответ написан