• Почему не запускается postgres 9.6?

    @ka7a8
    Бывает что после отключение питания на Linux серверах с 1С вообще ничего не запускается. База postgres поломана и кэш 1С тоже. Вот шаги как заново всё привести в рабочее состояние.

    1. Запускаем postgres в сингл моде от пользователя postgres чтобы его не убил systemd по таймауту
    root@1cserver:~# su postgres
    postgres@1cserver:~$ /usr/lib/postgresql/9.6/bin/postgres --single -c config_file=/etc/postgresql/9.6/main/postgresql.conf -D /var/lib/postgresql/9.6/main -P -d 1
    2018-09-07 09:23:27.289 MSK [3421] DEBUG:  запись о контрольной точке по смещению 23/36889418
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  redo record is at 23/3674B6A8; shutdown FALSE
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  next transaction ID: 0:18537840; next OID: 13492030
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  next MultiXactId: 1; next MultiXactOffset: 0
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  oldest unfrozen transaction ID: 545, in database 1
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  oldest MultiXactId: 1, in database 1
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  commit timestamp Xid oldest/newest: 0/0
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  предел наложения ID транзакций равен 2147484192, источник ограничения - база данных с OID 1
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
    2018-09-07 09:23:27.294 MSK [3421] DEBUG:  starting up replication slots
    2018-09-07 09:23:27.294 MSK [3421] LOG:  система БД была остановлена нештатно; производится автоматическое восстановление
    2018-09-07 09:23:27.298 MSK [3421] DEBUG:  resetting unlogged relations: cleanup 1 init 0
    2018-09-07 09:23:27.507 MSK [3421] LOG:  запись REDO начинается со смещения 23/3674B6A8
    2018-09-07 09:23:27.515 MSK [3421] LOG:  invalid record length at 23/368B5C50: wanted 24, got 0
    2018-09-07 09:23:27.515 MSK [3421] LOG:  записи REDO обработаны до смещения 23/368B5C28
    2018-09-07 09:23:27.515 MSK [3421] LOG:  последняя завершённая транзакция была выполнена в 2018-09-06 20:47:59.49413+03
    2018-09-07 09:23:27.515 MSK [3421] DEBUG:  resetting unlogged relations: cleanup 0 init 1
    2018-09-07 09:23:27.941 MSK [3421] DEBUG:  performing replication slot checkpoint
    2018-09-07 09:23:27.985 MSK [3421] DEBUG:  предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
    2018-09-07 09:23:27.985 MSK [3421] DEBUG:  Граница членов мультитранзакции сейчас: 4294914944 (при старейшей мультитранзакции 1)
    
    PostgreSQL stand-alone backend 9.6.8
    backend>

    После можно остановить postgres с нормальным кодом завершения и запустить в нормальном режиме
    root@1cserver:/home/usr1cv8# kill -15 #ваш_пид_процесса
    root@1cserver:/home/usr1cv8# /etc/init.d/postgresql start
    [ ok ] Starting postgresql (via systemctl): postgresql.service.


    2. Останавливаем непригодный 1С и чистим его кэш и конфигурациооные файлы и запускаем заново
    root@1cserver:~# /etc/init.d/srv1cv83 stop
    root@1cserver:~# rm -rf /home/usr1cv8/.1cv8
    root@1cserver:~# /etc/init.d/srv1cv83 start


    3. Запускаем RAS и добавляем базы которые были у нас на сервере 1С
    root@1cserver:~# /opt/1C/v8.3/x86_64/ras --daemon cluster
    root@1cserver:~# /opt/1C/v8.3/x86_64/rac cluster list
    cluster                       : 583eba18-b263-11e8-ed9e-309c239dab48
    host                          : 1cserver
    port                          : 1541
    name                          : "Локальный кластер"
    expiration-timeout            : 0
    lifetime-limit                : 0
    max-memory-size               : 0
    max-memory-time-limit         : 0
    security-level                : 0
    session-fault-tolerance-level : 0
    load-balancing-mode           : performance
    errors-count-threshold        : 0
    kill-problem-processes        : 0
    root@1cserver:~# /opt/1C/v8.3/x86_64/rac infobase create --cluster=583eba18-b263-11e8-ed9e-309c239dab48 --name=our_1c_db --dbms=PostgreSQL --db-server=1cserver --db-name=our_1c_db --locale=ru --db-user=postgres --db-pwd=our_postgres_db_password
    
    и так далее для каждой базы 1С что были на сервере


    Радуемся жизни :)
    Ответ написан
  • Как называется старенький квест на PC?

    SLY_G
    @SLY_G
    журналист, переводчик, программист, стартапщик
    Она с такой графикой чуть ли не единственная в своём роде.
    Ответ написан
  • Видеозаставка при открытии сайта

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Можно яваскриптом — при событии onload. А минусят потому что так делать не надо.
    Ответ написан
  • Зачем тестировщику SQL?

    mambet
    @mambet
    Так как конкретно тут уже поотвечали, я позволю себе обобщить ваш вопрос: нужно ли тестировщику знать, как разработан продукт, который он тестирует?

    Соответственно, тут возможны два варианта:
    1. Обычный тестер, чёрный ящик, нажимаем кнопки.
    2. Необычный тестер, серый-белый ящик, мочим по полной — автотесты, автоматический анализ кода, анализ покрытия кода, генерация тестовых данных и так далее.

    Во втором варианте, очевидно, чем больше знаний, тем лучше.

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

    Тестер начинает думать: «Ох, как тут омерзительно выглядят шрифты… Ну, это же .NET с его сглаживанием, ничего не поделаешь» — и не заводит тикет. Между тем, это проблема менеджера и разработчика — выбор конкретного фреймворка; а ошибку лучше рассматривать исходя из ожиданий конечного потребителя продукта. Его не волнует, какая там была использована библиотека и с какой целью, его волнует, почему всё так тормозит и убого выглядит.

    Отсюда и полуанекдотичные случаи, когда женщина-бухгалтер лет 50 умеет разнести в клочья программу, которую до этого проверял профессионал и ничего не нашёл — потому что профессионал, сочувствуя (и программисту, он же понимает, каких трудов стоило накодить эту красивую кнопку, и написанному им продукту, жаль же!), не нажимает на кнопку, пока бедная программка не «прокашляется». А вот у бухгалтера такого ограничения нет.
    Ответ написан