|  | ||||
|  | ||||
| 
 | 
|  Важные объявления | 
|  | 
|  01.03.2007, 22:33
            
            
                TS   | #1 (permalink) | 
| Увлечённый Регистрация: 05.12.2005 Адрес: Betflop 
                    Сообщений: 533
                 | 
            
            Установил на новый винт новую версию 8.2 Покопался немного в настройках. У меня 768М памяти. В базе больше 250K рук При настройках по умолчанию страничка GeneralInfo генерилась 24 секунды. На обработку запросов большое влияние оказывает параметр work_mem (раньше назывался sort_mem). Находится в разделе RESOURCE USAGE (except WAL) файла postgres.conf Значение по умолчанию 1MB. Увеличил до 32MB. GeneralIfo стала генериться за 12 секунд. Код: #--------------------------------------------------------------------------- # RESOURCE USAGE (except WAL) #--------------------------------------------------------------------------- # - Memory - shared_buffers = 32MB # min 128kB or max_connections*16kB # (change requires restart) #temp_buffers = 8MB # min 800kB #max_prepared_transactions = 5 # can be 0 or more # (change requires restart) # Note: increasing max_prepared_transactions costs ~600 bytes of shared memory # per transaction slot, plus lock space (see max_locks_per_transaction). #work_mem = 1MB # min 64kB work_mem = 32MB #maintenance_work_mem = 16MB # min 1MB #max_stack_depth = 2MB # min 100kB Не забывайе после изменения перегрузить постгрес. После этого попробовал страндартную процедуру дефрагментации индексов ( на пт форуме описана). Запрос стал выполняться еще на 2 секунды быстрее. Вот скрипт: Код: psql -d "PTPGSQL1" -U postgres -c "cluster session_idx_02 on session;" psql -d "PTPGSQL1" -U postgres -c "cluster player_winnings_idx_02 on player_winnings;" psql -d "PTPGSQL1" -U postgres -c "cluster player_idx_02 on players;" psql -d "PTPGSQL1" -U postgres -c "cluster game_idx_01 on game;" psql -d "PTPGSQL1" -U postgres -c "cluster game_players_idx_05 on game_players;" psql -d "PTPGSQL1" -U postgres -c "cluster session_idx_02 on session;" psql -d "PTPGSQL1" -U postgres -c "cluster player_winnings_idx_02 on player_winnings;" psql -d "PTPGSQL1" -U postgres -c "cluster player_idx_02 on players;" psql -d "PTPGSQL1" -U postgres -c "cluster game_idx_01 on game;" psql -d "PTPGSQL1" -U postgres -c "cluster game_players_idx_05 on game_players;" net stop PostgreSQL defrag e: net start PostgreSQL vacuumdb -U postgres -a -f -z В строках "net stop PostgreSQL" и "net start PostgreSQL" нужно изменить PostgreSQL на то название сервиса, которое у вас. | 
|   |    0 | 
|  03.03.2007, 13:33
            
            
                TS   | #3 (permalink) | 
| Увлечённый Регистрация: 05.12.2005 Адрес: Betflop 
                    Сообщений: 533
                 | 
            
            Есть разные способы. Я использую файл pgpass.conf Он должен лежать в папке C:\Documents and Settings\Имя пользователя\Application Data\postgresql Имя пользователя - имя под которым ты входишь в систему, а не postgres. Если этого файла нет - создай Формат файла hostname  ort:database:username  assword У меня: Код: localhost:5432:*:postgres:postgres | 
|   |    0 | 
|  24.04.2008, 03:36 | #4 (permalink) | |
| Аксакал Регистрация: 24.09.2007 Адрес: Москва 
                    Сообщений: 2,241
                 | Цитата: 
 | |
|   |    0 | 
|  24.04.2008, 03:56
            
            
                TS   | #5 (permalink) | 
| Увлечённый Регистрация: 05.12.2005 Адрес: Betflop 
                    Сообщений: 533
                 | 
            
            Создай обычный текстовый файл с этим строчками и поменяй у него расширение на bat или cmd  и запускай из коммандной строки или кликнув. Вот для ХМ, кстати, строчки: Код: psql -d "STEP3" -U postgres -c "cluster compiledplayerresults_idx1 on compiledplayerresults;" psql -d "STEP3" -U postgres -c "cluster compiledplayerresultspositionaction_idx1 on compiledplayerresultspositionaction;" psql -d "STEP3" -U postgres -c "cluster compiledresults_idx1 on compiledresults;" psql -d "STEP3" -U postgres -c "cluster players_idx1 on players;" | 
|   |    0 | 
|  24.04.2008, 04:30 | #6 (permalink) | |
| Аксакал Регистрация: 24.09.2007 Адрес: Москва 
                    Сообщений: 2,241
                 | Цитата: 
 | |
|   |    0 | 
|  25.04.2008, 00:11 | #8 (permalink) | |
| Аксакал Регистрация: 24.09.2007 Адрес: Москва 
                    Сообщений: 2,241
                 | Цитата: 
 | |
|   |    0 | 
|  17.05.2008, 17:53
            
            
                TS   | #10 (permalink) | 
| Увлечённый Регистрация: 05.12.2005 Адрес: Betflop 
                    Сообщений: 533
                 | 
            
            1) Или добавь пути к psql к PATH или пиши полный путь psql в скрипте (что-нибудь вроде C:\Program Files\PostgreSQL\8.2\bin\psql) 2) Если название службы больше одного слова, то надо ее взять в кавычки, скорее всего. net start\stop "Postgres ... " | 
|   |    0 | 
|  Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение | 
| SSD vs PostgreSQL | UBERPWNER | Железо | 149 | 10.08.2012 10:25 | 
| Производительность PT3 HUD | demoniak777 | Покер софт | 6 | 25.01.2010 11:33 | 
| PostgreSQL | szhek | Покер софт | 6 | 23.07.2008 17:07 | 
| PostgreSQL | CorwinXX | Программное обеспечение | 1 | 05.03.2008 01:49 | 
| PostgreSQL | CorwinXX | Теории, стратегии, основы покера | 5 | 19.08.2006 20:35 | 
| 
 | 
 |