Имя: Пароль:
1C
1С v8
PostgreSQL Ошибка.
,
0 yw_prog
 
10.03.17
12:45
PostgreSQL, версия 9.4.2-1.1C - взят с сайта 1С
1С Клиент-сервер 64 8.3.8.2197 - сервер 64 бит
В регистре сведений «КонтактнаяИнформация».
При выводе регистра на печать из формы : «Вывести список» выводит 19000 строк, это так и есть.
При просмотре регистра через форму : сплошные задублированные записи, или вывод информации одной строки по всем 20-30 строкам формы.
При выполнении запроса к регистру выводит 38000 строк.
Регистр хранит данные для справочника «Контрагенты».
Если взять перезаписать строку справочника «Контрагенты», то информация по этому контрагенту становится правильной, и дублирование пропадет. Это проверил в запросе.      

Помогите разрулить ситуацию.
1 dmrjan
 
10.03.17
12:54
postgresql.conf правили?
2 Elatiell
 
10.03.17
12:54
(0) Перезаписать все 19000 элементов не предлагать?
3 yw_prog
 
10.03.17
12:56
postgresql.conf правил.
4 yw_prog
 
10.03.17
12:57
База работает на PostgreSQL две недели.
5 dmrjan
 
10.03.17
13:04
fsync не меняли?
6 yw_prog
 
10.03.17
13:15
#wal_level = minimal            # minimal, archive, hot_standby, or logical
                    # (change requires restart)
#fsync = on                # turns forced synchronization on or off
synchronous_commit = 'off'        # synchronization level;
                    # off, local, remote_write, or on
#wal_sync_method = fsync        # the default is the first option
                    # supported by the operating system:
                    #   open_datasync
                    #   fdatasync (default on Linux)
                    #   fsync
                    #   fsync_writethrough
                    #   open_sync
#full_page_writes = on            # recover from partial page writes
#wal_log_hints = off            # also do full page writes of non-critical updates
                    # (change requires restart)
#wal_buffers = -1            # min 32kB, -1 sets based on shared_buffers
                    # (change requires restart)
#wal_writer_delay = 200ms        # 1-10000 milliseconds

#commit_delay = 0            # range 0-100000, in microseconds
#commit_siblings = 5
7 yw_prog
 
10.03.17
13:16
(5) #fsync = on
8 dmrjan
 
10.03.17
13:17
Какие параметры еще раскомментировали?
9 dmrjan
 
10.03.17
13:19
synchronous_commit по умолчанию on
10 dmrjan
 
10.03.17
13:26
autovacuum не отключили?
11 yw_prog
 
10.03.17
13:35
listen_addresses = '*'        # what IP address(es) to listen on;
port = 5432                # (change requires restart)
max_connections = 100            # (change requires restart)



shared_buffers = 4048MB            # min 128kB
                    # (change requires restart)
temp_buffers = 256MB            # min 800kB
work_mem = 128MB                # min 64kB
dynamic_shared_memory_type = windows    # the default is the first option

max_files_per_process = 400        # min 25
                    # (change requires restart)
shared_preload_libraries = 'online_analyze, plantuner'    # (change requires restart)


bgwriter_delay = 20ms            # 10-10000ms between rounds
bgwriter_lru_multiplier = 4.0        # 0-10.0 multipler on buffers scanned/round

#fsync = on                # turns forced synchronization on or off
synchronous_commit = 'off'        # synchronization level;

checkpoint_segments = 128        # in logfile segments, min 1, 16MB each


log_destination = 'stderr'        # Valid values are combinations of
                    # stderr, csvlog, syslog, and eventlog,
                    # depending on platform.  csvlog
                    # requires logging_collector to be on.

# This is used when logging to stderr:
logging_collector = on        # Enable capturing of stderr and csvlog
log_line_prefix = '%t '            # special values:
log_timezone = 'Europe/Helsinki'
autovacuum_max_workers = 4        # max number of autovacuum subprocesses
                    # (change requires restart)
autovacuum_naptime = 20s        # time between autovacuum runs



datestyle = 'iso, dmy'

timezone = 'Europe/Helsinki'
lc_messages = 'Russian_Russia.1251'            # locale for system error message
                    # strings
lc_monetary = 'Russian_Russia.1251'            # locale for monetary formatting
lc_numeric = 'Russian_Russia.1251'            # locale for number formatting
lc_time = 'Russian_Russia.1251'                # locale for time formatting

max_locks_per_transaction = 150    # min 10

online_analyze.threshold = 50
online_analyze.scale_factor = 0.1
online_analyze.enable = off
online_analyze.verbose = off
online_analyze.min_interval = 10000
online_analyze.table_type = 'temporary'
plantuner.fix_empty_table = false
12 yw_prog
 
10.03.17
13:36
(10) #autovacuum = on            # Enable autovacuum subprocess?  'on'
13 dmrjan
 
10.03.17
13:40
Если устанавливать PostgreSQL c https://postgrespro.ru/products/1c_build
то при установке под Windows программа предлагает сделать автоматический тюнинг postgresql.conf
Может все-таки с этого стоит начать?
14 dmrjan
 
10.03.17
13:41
И еще - кодировка у Вас, как я понимаю, не UTF-8 стоит?
15 dmrjan
 
10.03.17
13:43
И synchronous_commit включите.
16 yw_prog
 
10.03.17
13:43
(14) ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'Russian_Russia.1251'
       LC_CTYPE = 'Russian_Russia.1251'
       CONNECTION LIMIT = -1;
17 yw_prog
 
10.03.17
13:47
(15) Ок
18 dmrjan
 
10.03.17
13:47
19 dmrjan
 
10.03.17
14:02
И еще deadlock_timeoute какой стоит? Для 1С не должен быть более 2s.
20 yw_prog
 
10.03.17
14:10
(19) #deadlock_timeout = 1s
21 dmrjan
 
10.03.17
14:11
(20) ок
22 yw_prog
 
10.03.17
14:13
(21) Какие параметры Вы рекомендуете ? i7 + 16 GB + SSD
23 yw_prog
 
10.03.17
14:14
(22) Параметры : postgresql.conf
24 yw_prog
 
10.03.17
14:14
(23) Я смотрел тут :
http://its.1c.ua/db/metod8dev#content:5866:hdoc
25 yw_prog
 
10.03.17
14:16
(15) 1С рекомендует : synchronous_commit = off
http://its.1c.ua/db/metod8dev#content:5866:hdoc
26 dmrjan
 
10.03.17
14:26
(22) Я бы все-таки воспользовался настройками, как в (13). И с SSD лучше уходить. Да - вначале быстро, но как раз для баз очень ненадежно.
27 dmrjan
 
10.03.17
14:27
Вот еще один ресурс, где можно вопросы задать https://gitter.im/postgresmen/postgresqlrussia
28 ansh15
 
10.03.17
15:06
(26) С обычным HDD придется делать full_page_writes = off, иначе гораздо медленнее будет вместе с fsync и synchronous_commit. На хороший RAID контроллер с батарейкой автор темы и не рассчитывает, скорее всего.

А с задваиванием может быть и не в СУБД дело, в платформе 1С, возможно. Уже  8.3.9 и 8.3.10 давно есть. Как вариант попробовать на 8.3.10(хоть и тестовой).
29 yw_prog
 
10.03.17
16:16
OK. Спасибо. Провожу работы по восстановлению.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан