Menu
Jest wolny
Zameldować się
główny  /  Internet / 1c i Postgres Instalacja w systemie Windows. Zainstaluj PostgreSQL.

Instalacja 1C i Postgres w systemie Windows. Zainstaluj PostgreSQL.

Domyślnie PostgreSQL jest skonfigurowany do wydawania minimalnej ilości zasobów do pracy z małymi bazami danych do 4 GB na nie bardzo produktywnych serwerach. Oznacza to, że jeśli tak poważnie się dotknie systemów, napotkasz dużą utratę wydajności bazy danych tylko dlatego, że ustawienia domyślne mogą nie pasować do wydajności sprzętu północnego. Ustawienia alokacji zasobów losowy pamięć dostępu RAM do pracy PostgreSQL zapisany w pliku postgresql.conf..

Dostępne z obu folderów, w których zainstalowano PostgreSQL / Data i z PGAdmin:

Ogólnie rzecz biorąc, na początku etapie, w przypadku trudności i spowolnienie w pracy bazy danych, wystarczy zwiększyć trzy parametry do oka użytkowników:

shared_buffers.

Jest to rozmiar pamięci podzielony między procesami PostgreSQL odpowiedzialni za wykonanie aktywnych operacji. Maksymalna dopuszczalna wartość tego parametru wynosi 25% całkowitej pamięci RAM

Na przykład, w RAM 1-2 GB na serwerze, wystarczy określić w tym parametrze do 64-128 MB (8192-16384).

temp_buffers.

Jest to rozmiar bufora dla obiektów tymczasowych (tabele tymczasowe). Średnia wartość 2-4% całkowitej pamięci RAM

Na przykład, w pamięci RAM 1-2 GB na serwerze, wystarczy określić w tym parametrze o wartości 32-64 MB.

praca_mem.

Jest to rozmiar pamięci używany do sortowania i buforowania tabel.

Aby wprowadzić nowe wartości w życie, usługa zostanie ponownie uruchomiona, więc lepiej jest robić na zewnątrz czasu pracy.

Dwa więcej ważne parametry To jest serwisowy_mem (dla próżni, utwórz indeks i inne) i max_stack_Depth

Przykłady optymalnych ustawień:

  • CPU: E3-1240 V3 @ 30 GHz
  • RAM: 32 GB 1600 MHz
  • Tarcze: Plextor M6Pro

postgresql.conf:

  • shared_buffers \u003d 8 GB.
  • work_mem \u003d 128 MB.
  • konserwacja_Work_mem \u003d 2 GB.
  • fsync \u003d na.
  • synchronous_Commit \u003d Off.
  • wal_sync_method \u003d Fdatasync.
  • checkpoint_segments \u003d 64.
  • sEQ_PAGE_COST \u003d 1,0.
  • random_page_cost \u003d 6.0.
  • cPU_TUPLE_COST \u003d 0,01.
  • cPU_INDEX_TUPLE_COST \u003d 0,0005.
  • cPU_PERATOR_COST \u003d 0,0025.
  • sFFECY_CACHE_SIZE \u003d 24 GB.

Przydatne zapytania:

BD Blokowanie przez użytkowników

Wyświetl wszystkie tabele, więcej niż 10 MB


z pg_tables.
Gdzie włóknista nie jest jak "SQL_%" i pg_size_pretty (pg_total_relaation_size (obsada (tablename jako tekst))) jak "% MB%";

Definicja rozmiarów tabeli w bazie danych PostgreSQL

SQL Wybierz kod Tablename, pg_size_pretty (pg_total_relaation_size (obsada (tableramame jako tekst)) jako rozmiar
z pg_tables.
Gdzie włóknista nie jest jak "sql_%"
Zamów według rozmiaru;

Użytkownicy blokujący określoną tabelę

Kod SQL Wybierz nazwę A.USENAME, T.RELAME, A.Current_Query, tryb z pg_late_ Inner Dołącz do pg_stat_activity a na a.prokpid \u003d L.Pid Inner Dołącz do t.relid_all_tables t na t.relid \u003d l.Lation, gdzie t.relname \u003d ' "; Kod SQL Wybierz Relacja :: RegClass, Tryb, A.MeName, Przyznane, PID z pg_locks l Wewnętrzny Dołącz do pg_stat_activity A na a.prokpid \u003d L.Pid, gdzie nie jest tryb \u003d "AccessSharelock" i relacja nie jest null;

Wnioski o ekskluzywne zamki

Kod SQL Wybierz A.MeName, A.Current_Query, Tryb z pg_locks L Wewnętrzny Dołącz do pg_stat_activity A na a.prokpid \u003d L.Pid, gdzie tryb Ilike '% ekskluzywny%';

Liczba blokad przez użytkowników

Kod SQL Wybierz AuseName, Count (L.PID) z pg_locks l Wewnętrzny Dołącz do pg_stat_activity a na a.prokpid \u003d L.PID, gdzie nie (tryb \u003d "AccessSharelock") Grupa przez A. IMENAME;

Liczba połączeń przez użytkowników

Kod SQL Wybierz Liczba (USEName), UseName z grupy PG_Stat_Actitivity przez użytkownika Zamówienie według liczby (USENAME) DESC;

Po wielkości bazy danych plików 1C: przedsiębiorstwo jednego z naszych klientów osiągnęło w 32 GB (tak, 32 GB), w rezultacie wszystko stopniowo zaczęło spowolnić, a następnie upadło ciasno, nasi klienci poprosili nas do rozwiązania ten problem. Klasa Enterprise SSD na krótko słodzona do pigułki, ale po chwili wszystko wróciła do punktu wyjścia. Cóż, tutaj, tutaj i do babci nie iść - przejdź do wersji SQL bazy danych.

Odkąd jesteśmy " użytkownicy systemu Windows.Jedyne dwie opcje DBMS są dla nas dostępne - to jest MSSQL i PostgreSQL. Pierwszy jest dobry dla szaleństwa, ale koszt nie zadał. I nie zadowoli już wiadomości o dodatkowych licencjach 1C do pracy z MSSQL. Dlatego PostgreSQL.

Szczegółowe instrukcje dotyczące dostępnych wideo. W tym artykule przejdziemy przez kluczowe punkty.

Nie zapomnij o tworzeniu tworzenia kopii zapasowych baz danych 1c!

Wstępne dane:

  • OS. Windows Server. 2008R2,
  • Intel Core. I7-2600K 3,40 GHz,
  • 32 GB pamięci RAM,
  • Intel SSD DC3700 100 GB (tylko w ramach bazy danych, system operacyjny na osobnym SSD),
  • od 10 do 20 użytkowników w bazie danych dziennie,
  • wymiana z 5 węzłami rozproszonych baz danych w tle.

Złuby, prawda? Kontynuujmy.

1. Zainstaluj PostgreSQL i PGAdmin.

Brak objawień, jak pobrać postgresql nie będzie naszą ulubioną witryną https://relaases.1c.ru, sekcja "Rozkłady technologiczne". Pobierz, umieść. Nie zapomnij zainstalować bibliotek Runtime Microsoft Visual C ++ 2010 z dodatkiem Service Pack 1, co wchodzi w archiwum z dystrybucją. Upadli na to: nie instalują, przetestowali dużo bólu.

Zainicjuj klaster bazy danych (znak wyboru). I tutaj określasz ustawienia konta dla PostgreSQL! WAŻNE: Musisz uruchomić usługę "Logowanie wtórne" (lub w lokalizowanym systemie operacyjnym: "Wtórne wejście do systemu"). Ważne jest również kodowanie UTF8!

pgadmin w tym montarze staje się. Idziemy do https://www.postgresql.org/ftp/pgadmin3/release/. W momencie pisania artykułu Świeża wersja 1.22.1. Swejdź, umieść. Wejdź.

W procesie instalacji "Podawanie serwerów 1C Enterprise" Nie zatrzymujmy się. Jest to zupełnie inny temat. Tak, i nie ma tam nic trudnego.

Utwórz bazę danych SQL w tym stadie, sprawdź pgadmin - baza danych pojawi się tam, jeśli wszystko jest poprawne.

2. Tuning PostgreSQL 9.4.2.

  • pg_hba.conf.
  • postgresql.conf.
  • pgass.conf.

które tu leżą:

C: Pliki programu PostgreSQL 9.4.2-1c

Jeśli pomylisz przynajmniej w jednym liście, po aktualizacji konfiguracji PostgreSQL, nie zacznij. Dowiedz się, co spowodowało, że powód będzie trudny, nawet patrząc dzienniki Windows.. Dlatego nie zmieniaj wielu parametrów natychmiast i dokonywać kopii zapasowych.

Aby edytować tam konfigurację wygodne narzędzieDostępne bezpośrednio z głównego okna pgadmin. Oto:

Co tu zmienimy:

  • shared_buffers. - Liczba pamięci przydzielonych przez PGSQL dla stawowej strony stron. Ta pamięć jest podzielona na wszystkie procesy PGSQL. Podzielymy dostępną pamięć RAM przez 4. W naszym przypadku jest 8 GB.
  • skuteczny_Cochy_size - rozmiar pamięci podręcznej montażu system plików. Uważa się: RAM - shared_buffers. W naszym przypadku jest to 32 GB - 8 GB \u003d 24 GB. Ale osobiście pozostawiam ten parametr nawet niższy, gdzieś 20 GB jest nadal potrzebny przez pamięć RAM nie tylko dla PostgreSQL.
  • random_page_cost. \u003d 1,5 - 2.0 dla RAID, 1.1 - 1.3 dla SSD. Koszt czytania strony losowej (domyślnie 4). Mniejszy system dysku czasowy, mniejszy (ale\u003e 1,0) powinien być tym parametrem. Zbyt parametr zwiększa PGSQL pochylając się do wyboru planów skanowania całej tabeli (PGSQL uważa, że \u200b\u200bjest tańszy do odczytu całej tabeli tańsze niż wskaźnik losowy). I to jest złe.
  • temp_buffers. \u003d 256 MB. Maksymalna liczba stron do tabel tymczasowych. Oznacza to, że jest to górna granica rozmiaru tabel czasowych w każdej sesji.
  • praca_mem. - Jest uważany za: RAM / 32..64 - W naszym przypadku okazuje się 1 GB. Limit pamięci do przetwarzania jednego żądania. Ta pamięć jest indywidualna dla każdej sesji. Teoretycznie maksymalna potrzeba pamięci jest równa max_connections * Work_mem, w praktyce nie występuje, ponieważ większość sesji prawie zawsze wiszą w przewidywaniu.
  • bgwrite_delay. - 20ms. Czas uśpienia między cyklami nagrywania na dysku proces tła Wpisy. Ten proces Odpowiada za synchronizację stron zlokalizowanych w Shared_buffers z płyciem. Zbyt duża wartość tego parametru spowoduje wzrost obciążenia w procesie punktu kontrolnego i sesji obsługujących (backend). Mała wartość zajmie pełne obciążenie jednego z rdzeni.
  • synchronous_Commit. - Off. NIEBEZPIECZNY! Wyłącz synchronizację dysku w momencie zatwierdzenia. Stwarza ryzyko utraty najnowszych transakcji wielu (w ciągu 0,5-1 sekund), ale gwarantuje integralność bazy danych, istnieją zagwarantowane misje w łańcuchu zatwierdzania. Ale znacznie zwiększa wydajność.

To nie wszystko, co udało się nauczyć się z Internetu i artykułów na temat https://its.1c.ru. ALE! Nawet te ustawienia wystarczą, aby przyspieszyć pracę 1C: Przedsiębiorstwo na PostgreSQL.

W tym betonowa obudowa Po przełączeniu na PostgreSQL użytkownicy zaczęli narzekać, że 1C zaczął spowolnić jeszcze silniejszy niż w wersji pliku. Ale po tym strojeniu baza "Flew". Teraz wszyscy lubią szybką pracę. Istnieją jednak również jego minusy w postaci zamków. Nie planujemy tego zatrzymać, będziemy kopać dalej i przesłać przydatne zmiany w konfiguracji PostgreSQL tutaj.

PostgreSQL jest dość nowoczesnym i popularnym DBMS na świecie. Nie poszła około 1C, wybierając jako jeden z DBMS obsługiwanych do operacji. Rozważ instrukcje instalacji dla PostgreSQL i jego początkowego 8,3 pod Windows.

PostgreSQL - bezpłatny program.Jest to jeden z decydujących czynników do wyboru tego DBMS.

Aby zainstalować serwer, będziemy potrzebować dwóch archiwów - przedsiębiorstw (x86-64) i dystrybucji PostgreSQL. W naszym przykładzie platforma wersja 8.3.4 i DBMS 9.1.2. Lepiej wziąć z oficjalnych źródeł 1C - dysku lub jego witryny.

Pierwsza rzecz przedsiębiorstwa 8.3 (lub 8.2). Aby to zrobić, uruchom plik Setup.exe z archiwum. Instalacja nie różni się od zwykłej instalacji aplikacji klienta, z wyjątkiem niektórych funkcji:

1. Nie zapomnij wybrać żądanych elementów w składnikach:

2. Określ, aplikacja zostanie uruchomiona z którego nazwy. Zaleca się utworzenie nowego użytkownika "USR1CV8". Ten użytkownik musi mieć odpowiednie prawa:

Uzyskaj 267 samouczków wideo za 1C za darmo:

Po instalacji część 1C może być kontynuowana z DBMS.

Zainstaluj PostgreSQL.

Uruchom PostgreSQL-9.1.2-1C (X64) plik .msi, w folder Windows. Wybierz podfolder 64 lub 86, w zależności od wyładowania systemu operacyjnego. Domyślnie możesz pozostawić prawie wszystko. Konieczne jest zwrócenie uwagi na następujące punkty:

1. Tak jak z 1C 8.3, DBMS jest zainstalowany jako usługa. Musisz sprawdzić prawa od używanego użytkownika. Domyślny system utworzy nowy użytkownik, z którego nazwa zostanie uruchomiona przez:

2. Ustawianie klastra 1C. Tutaj musisz określić hasło dla użytkownika:

Aby wykonać ten element, należy uruchomić drugorzędową usługę logowania (wtórne logowanie). Jeśli nie działa, należy uruchomić na liście wszystkich usług:

Tworzenie podstawy 1C na postgri

Tworzenie podstawy jest bardzo prostym procesem. Na liście bazy danych należy kliknąć "Dodaj", wybierz element "Tworzenie nowego baza informacji.", Określ nazwę bazy danych i wybierz opcję Lokalizacja -" Na serwerze 1C: Przedsiębiorstwa ", gdzie wypełnić ustawienia, takie jak określony w zrzucie ekranu:

Gdzie hasło i nazwa użytkownika są tymi, których określono w fazie konfiguracji klastra.

To wszystko - możesz pracować z systemem.

Instrukcja instalacji PostgreSQL 9.0.3-3.1c na Windows Server 2008 x64

Aby zainstalować, użyj pakietu - PostgreSQL 9.0.3-1c (x 86 lub x 64).

Uruchom pakiet MSI:

Świętujemy zaznaczenie zaznaczenie, jeśli "katalog z DATA", PSQL i PGAdmin III odnotowano. Dalej.

Zainstaluj "jako usługę". Aby pracować, ta usługa będzie wymagała specjalnego użytkownika. Wskazać konto, Domena (jeśli jest dostępna) i hasło. Dalej.

Jeśli nie ma takiego użytkownika w systemie, mistrz sugeruje tworzenie nowego. Odpowiadamy "tak" - tworzony jest użytkownik. Dalej.

Teraz zainicjuj bazę danych. Określ port 5432. Sprawdzamy, czy kodowanie UTF 8 jest ustawione przez login użytkownika PostgreSQL i hasło (system ostrzega, że \u200b\u200bhasło użytkownika i hasło użytkownika PostgreSQL nie powinny być zgodne - rozważ go). Jeśli klaster serwera 1C i PostgreSQL różne maszyny, a następnie umieść kleszcz "Utrzymuj połączenia z dowolnego IP, a nie tylko z lokalnymhost". Dalej.

Błąd może wystąpić " Logowanie wtórne ». Następnie idziemy do "Administracja" - "Usługi". Rozpocznij "Logowanie wtórne" lub "wtórne logowanie" usługi:


Program jest ustawiony.

Przez menu "Start" - "Wszystkie programy" prowadzą narzędzie administracyjne "Pgadmin III".

Połącz się z serwerem. Wprowadzamy hasło dla użytkownika "Postgre". Jeśli uda ci się podłączyć, spróbuj utworzyć nową bazę za pomocą samego poziomu 1C.

Uruchom część klienta 1c. Kliknij przycisk "Dodaj", ustaw serwer serwera 1C. Następnie wypełnij: serwer bazy danych (IP lub DNS Nazwa tego serwera, w którym PostgreSQL) - Jeśli taka sama jak klaster 1C, a następnie określić 127.0.0.1. Nazwa bazy danych: [W każdym razie]. Użytkownik: "Postgre" Hasło: [Your_Pall_Postgres]. Dalej.

Sprawdzamy, czy baza 1C jest pomyślnie utworzona.

Ustanowimy montaż z profesjonalistów Postgre. Na stronie wersji 1C: Enterprise Znajdź informacje o instalacji na Centos 7 Fresh Version PostgreSQL.

Podłącz repozytorium i zainstaluj PostgreSQL 9.6:

Sudo rpm -vh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.NOARCH.RPM Sudo Yum MakeCache Sudo Yum Zainstaluj PostgreSQL-PRO-1C-9.6

PostgreSQL Basic Setup.

Zainicjuj bazy danych usług z rosyjską lokalizacją:

Su Postgre /usr/pgsql-9.6/bin/initdb -d /var/lib/pgsql/9.6/data --Locale \u003d Ru_ru.UTF-8 Service Exit PostgreSQL-9.6 Initdb

Uruchom PostgreSQL i dodaj go do Autoload:

SystemCTL Enable PostgreSQL-9.6 SystemCTL Start PostgreSQL-9.6 Status SystemCTL PostgreSQL-9.6

Określamy hasło użytkownika Postgres, aby móc zdalnie połączyć się z serwerem:

SU - Postgre PSQL Alter Postgres Postgres Wordsword; Q Wyjdź.

Mcedt /var/lib/pgsql/9.6/data/pg_hba.conf.

w pliku, który otwiera nas, niechlujemy i zmienia ciąg:

grzyma wszystkie 127.0.0.0.0.1/32 na host Wszystkie 127.0.0.0.0.0.1/32 MD5

host All Ext.0.0.0/0 Ident na host All 0.0.0.0/0 MD5

Optymalizacja ustawień PostgreSQL (Postgreresql.conf) dla 1C: Przedsiębiorstwo

Oto ustawienia pracy PostgreSQL maszyna wirtualna ESXI 6.5.

Zasoby przydzielone dla VM:

procesor - 8 VCPU;

pamięć - 48 GB;

dysk dla OS - 50 GB na LUN Hardware Raid1 z SAS HDD;

dysk dla bazy danych - 170 GB na SSD RAID1

dysk do logów - 100 GB na oprogramowaniu RAID1 z SSD

Aby edytować ustawienia, wykonaj polecenie:

Mcedt /var/lib/pgsql/9.6/data/postgresql.conf.

Skomentowali parametry, które będą musiały być aktywowane.

procesor

autovacuum_max_workers \u003d 4.

autovacuum_max_workers \u003d NCORES / 4..2, ale nie mniej niż 4

Liczba procesów autowaku. Główna zasada - Im więcej wniosków o zapis, tym więcej procesów. W bazie danych tylko do odczytu wystarczy tego samego procesu.

ssl \u003d off.

Wyłączanie szyfrowania. W przypadku chronionych CDMS, szyfrowanie jest bez znaczenia, ale prowadzi do wzrostu załadunku CPU

Pamięć

shared_buffers \u003d 12 GB.

shared_buffer \u003d RAM / 4

Liczba alokowanych pamięci PGSQL dla czubanej strony. Ta pamięć jest podzielona na wszystkie procesy PGSQL. System operacyjny Sam buforuje dane, więc nie ma potrzeby odwrócenia całej pamięci operacyjnej gotówki dla pamięci podręcznej.

tEMP_Buffers \u003d 256 MB.

Maksymalna liczba stron do tabel tymczasowych. Te. Jest to górna granica rozmiaru tabel czasowych w każdej sesji.

work_mem \u003d 64MB.

work_mem \u003d RAM / 32..64 lub 32MB..128MB

Limit pamięci do przetwarzania jednego żądania. Ta pamięć jest indywidualna dla każdej sesji. Teoretycznie maksymalna potrzeba pamięci jest równa max_connections * Work_mem, w praktyce nie występuje, ponieważ większość sesji prawie zawsze wiszą w przewidywaniu. Ta wartość rekomendacyjna jest używana przez Optimizer: Stara się przewidzieć rozmiar wymaganej pamięci dla żądania, a jeśli ta wartość jest większa niż work_mem, oznacza, że \u200b\u200bexecutor natychmiast utwórz tabelę tymczasową. Work_mem nie jest w całkowitym limicie: Optymalizator może również przegapić, a żądanie zajmie więcej pamięci, być może. Ta wartość może zostać zmniejszona, zgodnie z liczbą utworzonych plików tymczasowych:

konserwacja_Work_mem \u003d 2 GB.

konserwacja_Work_mem \u003d RAM / 16..32 lub WORK_MEM * 4 lub 256 MB..4GB

Limit pamięci do obsługi zadań, takich jak zbieranie statystyk (analizuj), zespół śmieci (próżni), tworzenie indeksów i dodawanie kluczy zewnętrznych. Rozmiar pamięci przydzielonej w ramach tych operacji powinno być porównywalne fizyczny rozmiar Największy indeks na dysku.

sFFETY_CACHE_SIZE \u003d 36 GB.

sFECT_CACHE_SIZE \u003d RAM - Shared_buffers

Ocena rozmiaru systemu plików pamięci podręcznej. Wzrost parametru zwiększa tendencję systemu do wyboru planów indeksowych. I to jest dobre.

Dyski

sFFECY_IO_CONCURRENCE \u003d 5.

Szacunkowa wartość jednoczesnych żądań do systemu dysku, który może służyć jednocześnie. Dla jednego dysku \u003d 1, dla RAID - 2 lub więcej.

random_page_cost \u003d 1.3.

random_page_cost \u003d 1,5-2,0 dla RAID, 1.1-1.3 dla SSD

Koszt czytania strony losowej (domyślnie 4). Mniejszy system dysku czasowy, mniejszy (ale\u003e 1,0) powinien być tym parametrem. Zbyt parametr zwiększa PGSQL pochylając się do wyboru planów skanowania całej tabeli (PGSQL uważa, że \u200b\u200bjest tańszy do odczytu całej tabeli tańsze niż wskaźnik losowy). I to jest złe.

autovacuum \u003d włączony.

Włączanie Avtovakuuma.

autovacuum_naptime \u003d 20s.

Czas snu procesu Avtovakuum. Zbyt dużą wartość doprowadzi do faktu, że tabele nie będą miały czasu odparowania, a w wyniku czego będzie rosła, i wielkość tabel i indeksów. Mała wartość doprowadzi do bezużytecznego ogrzewania.

bgwriter_delay \u003d 20ms.

Czas snu między cyklami nagrywania do procesu tła płyty. Proces ten jest odpowiedzialny za synchronizację stron zlokalizowanych w Shared_buffers z płytą. Zbyt duża wartość tego parametru spowoduje wzrost obciążenia w procesie punktu kontrolnego i sesji obsługujących (backend). Mała wartość zajmie pełne obciążenie jednego z rdzeni.

bgwriter_lru_multiplier \u003d 4.0.

bgwriter_lru_maxpages \u003d 400.

Parametry, które kontrolują intensywność procesu rejestracji procesu nagrywania. Dla jednego cyklu bgwritera pisze nie więcej niż napisano do ostatniej pętli pomnożonej przez bgwriter_lru_multiplier, ale nie więcej niż bgwriter_lru_maxpages.

synchronous_Commit \u003d Off.

Wyłącz synchronizację dysku w momencie zatwierdzenia. Stwarza ryzyko utraty najnowszych transakcji wielu (w ciągu 0,5-1 sekund), ale gwarantuje integralność bazy danych, istnieją zagwarantowane misje w łańcuchu zatwierdzania. Ale znacznie zwiększa wydajność.

wal_Keep_segments \u003d 256.

wal_Keep_segments \u003d 32..256.

Maksymalna liczba segmentów WAL między punktem kontrolnym. Zbyt częste punkt kontrolny prowadzi do znacznego obciążenia podsystemu dysku przez pisanie. Każdy segment ma rozmiar 16 MB

wal_buffers \u003d. 16 MB.

Ilość pamięci współdzielonej, która będzie używana do buforowania danych WAL, a nie nagrany na dysku. Wartość domyślna równa -1, ustawia rozmiar równy 1/32 (około 3%), ale nie mniej niż 64 KB i nie więcej niż rozmiar jednego segmentu WAL (zwykle 16 MB). Ta wartość może być ustawiona ręcznie, jeśli wybrana automatycznie jest zbyt mała lub duża, ale każda liczba dodatnia jest mniejsza niż 32 KB będzie postrzegana jako 32 KB. Ten parametr można ustawić tylko wtedy, gdy serwer jest uruchamiany.

Zawartość buforów WAL jest zapisywana na dysku przy ustalaniu każdej transakcji, dzięki czemu bardzo duże wartości są mało prawdopodobne, aby przynieść znaczące korzyści. Jednak wartość co najmniej kilku megabajtów może zwiększyć prędkość podczas nagrywania na załadowanym serwerze, gdy wielu klientów natychmiast nagrywa transakcje. Automatyczne strojenie, ważne dla wartości domyślnej (-1), w większości przypadków wybiera rozsądne wartości.

default_statistics_target \u003d 1000.

Ustawia docelowe domyślne statystyki, rozprzestrzenianie się na kolumny, dla których indywidualne ograniczenia nie są określone przez polecenie statystyki statystyk ALTER TABLE. Im większa wartość ustalona, \u200b\u200btym dłużej jest wymagana do przeprowadzenia analizy, ale im wyższa jakość szacunków harmonogramu może być. Wartość tego parametru domyślnego wynosi 100.

checkpoint_complection_target \u003d 0,9.

Stopień "składany" Checkpoint'a. Prędkość nagrywania podczas punktu kontrolnego jest regulowana, dzięki czemu czas kontrolny był równy okresowi przekazywane z przeszłości, pomnożone przez cel Checkpoint_complecja_.

min_wal_size \u003d 4g.
max_wal_size \u003d 8g.

min_wal_size \u003d 512mb .. 4g
Max_wal_size \u003d 2 * min_wal_size

Minimalna i maksymalna ilość plików WAL. Podobny do Checkpoint_SeGments.

fsync \u003d na.

Wyłączenie parametru prowadzi do wzrostu wydajności, ale istnieje znaczne ryzyko utraty wszystkich danych o nagłym wyłączeniu. UWAGA: Jeśli RAID ma pamięć podręczną i będzie w trybie zapisu, sprawdź dostępność i funkcjonalność baterii kontrolera RAID KESHA! W przeciwnym razie dane zapisane w pamięci podręcznej Raid można utracać, gdy moc jest wyłączona, a w wyniku czego PGSQL nie gwarantuje integralności danych.

row_security \u003d off.

Wyłącz kontrolę rozdzielczości nagrania

enable_nestlooop \u003d off.

Obejmuje lub wyłączanie wykorzystania planów połączenia z zagnieżdżonymi cyklami. Niemożliwe jest całkowicie wykluczenie zagnieżdżonych cykli, ale po wyłączeniu tego parametru planista nie użyje ta metodaJeśli możesz zastosować innych. Domyślnie ten parametr jest włączony.

Zamek

max_locks_per_transaction \u003d 256.

Maksymalna liczba blokad / tabel indeksowych w jednej transakcji

Ustawienia platformy 1C

standard_Conforming_strings \u003d Off.

Zezwalaj na symbol użycia dla ekranowania

escape_string_warning \u003d off.

Nie wystawiaj ostrzeżenia o użyciu symbolu do ekranowania

Ustawienia bezpieczeństwa

Dokonamy go tak, że serwer PostgreSQL jest widoczny tylko dla serwera 1C: Enterprise zainstalowane na tej samej maszynie.

słuchaj_addresses \u003d 'Localhost'

Jeśli serwer 1C: Firma jest zainstalowana na innej maszynie lub istnieje potrzeba podłączenia do podłączenia do serwera DBMS za pomocą pgadmin Snap, a następnie zamiast tego lokalny Gospodarz. musisz określić adres tego urządzenia.

Baza danych pamięci

PostgreSQL jak prawie każdy DBMS ma kluczowe znaczenie dla podsystemu dysku, w celu zwiększenia prędkości DBMS, System PostgreSQL, kłody i bazy danych na różnych płytach.

Uruchom serwer

SystemCtl Stop PostgreSQL-9.6

Kłody transferu na 120 GB SSD:

MV /var/Lib/pgsql/9.6/data/pg_xlog / RAID120 MV /var/lib/pgsql/9.6/data/pg_clog / RAID120 mv /var/lib/pgsql/9.6/data/pg_log / RAID120

LN -S / RAID120 / pg_xlog /var/lib/pgsql/9.6/data/pg_xlog LN -S / RAID120 / pg_clog /var/lib/pgsql/9.6/data/pg_clog LN -S / RAID120 / pg_log / var / lib / Pgsql / 9.6 / dane / pg_log

Przesyłaj również katalog z bazami danych:

MV /var/lib/pgsql/9.6/data/base / RAID200

LN -S / RAID200 / BASE /VAR/LIB/PGSQL/9.6/Data/base

uruchom serwer i sprawdź jego status

SystemCtl Start PostgreSQL-9.6 Status SystemCTL PostgreSQL-9.6