Cài đặt và cấu hình postgresql cho linux 1c. Cài đặt PostgreSQL. Các thành phần cần thiết để cài đặt

Câu hỏi DBMS nào - Postgresql hay MS SQL cho 1C là tối ưu nhất - đã là chủ đề của nhiều bài viết. Trong bài viết này, chúng ta sẽ xem xét các bước tối ưu hóa cho cả hai. DBMS của mỗi nhà cung cấp có cả đề xuất cấu hình riêng và đề xuất từ ​​1C. Cần lưu ý rằng tùy thuộc vào thiết bị, cấu hình máy chủ và số lượng người dùng cài đặt các tải khác nhau, chi tiết về quy trình tối ưu hóa DBMS cho 1C và các khuyến nghị triển khai có thể thay đổi.

Thiết lập PostgreSQL cho 1C

Kinh nghiệm vận hành cơ sở dữ liệu 1C trên PostgreSQL cho thấy hiệu suất cao nhất và hiệu suất tối ưu của 1C và PostgreSQL đã đạt được trên Linux, vì vậy nên sử dụng nó. Nhưng bất kể hệ điều hành là gì, điều quan trọng cần nhớ là các cài đặt mặc định được chỉ định khi cài đặt PostgreSQL chỉ nhằm mục đích khởi động máy chủ DBMS. Không thể nói chuyện về bất kỳ sự bóc lột công nghiệp nào! Bước tiếp theo sau khi ra mắt sẽ là tối ưu hóa PostgreSQL cho 1C:

  • Đầu tiên, chúng tôi vô hiệu hóa Tiết kiệm năng lượng (nếu không, độ trễ phản hồi từ cơ sở dữ liệu có thể tăng lên một cách khó lường) và vô hiệu hóa tính năng hoán đổi bộ nhớ dùng chung.
  • Chúng tôi định cấu hình các tham số cơ bản của máy chủ DBMS (các đề xuất về cấu hình được mô tả đầy đủ chi tiết, cả trên trang web chính thức của nhà cung cấp và trên 1C, vì vậy chúng tôi sẽ chỉ tập trung vào những tham số quan trọng nhất).
  • Các khuyến nghị tiêu chuẩn của công ty 1C đề xuất vô hiệu hóa cơ chế HyperThreading. Nhưng thử nghiệm Postgres-pro trên các máy chủ có bật SMT (đa luồng đồng thời) cho thấy các kết quả khác nhau.
Đặt Shared_buffers thành RAM/4 là đề xuất mặc định, nhưng ví dụ về Máy chủ Sql gợi ý rằng càng phân bổ nhiều bộ nhớ cho nó thì hiệu suất của nó càng tốt (với tính năng xóa trang bị tắt). Nghĩa là, càng có nhiều trang dữ liệu nằm trong RAM thì càng có ít lượt truy cập vào đĩa. Câu hỏi đặt ra: tại sao lại có bộ đệm nhỏ như vậy? Câu trả lời rất đơn giản: nếu Shared_buffers lớn thì một số trang không được sử dụng sẽ được chuyển vào đĩa. Nhưng làm thế nào để theo dõi thời điểm dừng reset và chỉ báo thông số ở mức tối ưu? Để đạt được chỉ báo Shared_buffers tối ưu, giá trị của nó phải được nâng lên trong quá trình sản xuất hàng ngày (nếu có thể) với mức tăng nhất định và xem thời điểm nào các trang sẽ bắt đầu được chuyển vào đĩa (hoán đổi sẽ tăng lên).
  • Ngoài ra, “tham số lớn” bị ảnh hưởng tiêu cực khi làm việc với nhiều trang nhỏ, theo mặc định có kích thước 8Kb. Làm việc với họ làm tăng chi phí chung. Có thể làm gì với điều này để tối ưu hóa cho 1C? PostgreSQL 9.4 đã giới thiệu tham số Huge_pages, tham số này có thể được bật nhưng chỉ trên Linux. Theo mặc định, các trang lớn được bao gồm với kích thước mặc định là 2048 kB. Ngoài ra, hệ điều hành phải bật hỗ trợ cho các trang này. Do đó, bằng cách tối ưu hóa cấu trúc lưu trữ, bạn có thể đạt được chỉ báo Shared_buffers lớn hơn.
  • work_mem = RAM/32..64 hoặc 32MB..128MB Đặt dung lượng bộ nhớ cho mỗi phiên sẽ được sử dụng cho các hoạt động sắp xếp, hợp nhất, v.v. nội bộ trước khi sử dụng các tệp tạm thời. Nếu vượt quá dung lượng này, máy chủ sẽ sử dụng các tệp tạm thời trên đĩa, điều này có thể làm giảm đáng kể tốc độ xử lý yêu cầu. Tham số này được sử dụng khi thực thi các toán tử: ORDER BY, DISTINCT, merge join, v.v.
  • Ngoài ra, tham số này có thể được tính như sau: (Bộ nhớ dùng chung_buffers - bộ nhớ dành cho các chương trình khác) / số lượng kết nối đang hoạt động. Giá trị này có thể được giảm bằng cách theo dõi số lượng tệp tạm thời được tạo. Những thống kê như vậy về kích thước và số lượng tệp tạm thời có thể được lấy từ chế độ xem hệ thống pg_stat_database.
  • hiệu quả_cache_size = RAM - Shared_buffers Mục đích chính của tham số này là cho trình tối ưu hóa truy vấn biết nên chọn phương pháp truy xuất dữ liệu nào: quét toàn bộ hoặc quét chỉ mục. Giá trị tham số càng cao thì khả năng sử dụng chức năng quét chỉ mục càng lớn. Trong trường hợp này, máy chủ không tính đến việc dữ liệu có thể vẫn còn trong bộ nhớ khi thực hiện yêu cầu và yêu cầu tiếp theo không cần truy xuất dữ liệu đó từ đĩa.
  • Cài đặt PostgreSQL

    Cài đặt 1C trên PostgreSQL trong Windows là một quá trình khá đơn giản. Khi chạy gói cài đặt, bạn phải chỉ định mã hóa UTF-8. Trên thực tế, đây là sắc thái thú vị duy nhất và không cần cấu hình thêm PostgreSQL cho 1C 8.3 từ Windows. Việc cài đặt và định cấu hình PostgreSQL cho 1C trên hệ điều hành Linux có thể gây ra một số khó khăn. Ví dụ: để khắc phục chúng, hãy xem xét việc chạy (sử dụng bộ công cụ phân phối từ nhà cung cấp hàng đầu của Nga là PostgreSQL-Pro và công ty 1C) PostgreSQL trên máy chủ Ubuntu 16.04 x64

    Cài đặt bộ phân phối 1C cho PostgreSQL DBMS

    1.Tải xuống vị trí được chỉ định của bộ phân phối DBMS PostgreSQL:

    2. Tải PostgreSQL lên máy chủ;

    3.Bạn có thể giải nén trình cài đặt PostgreSQL DBMS bằng lệnh:

    tar -xvf postgresql-9.4.2-1.1C_amd64_deb.tar.bz2

    4.Trước khi cài đặt bộ phân phối PostgreSQL DBMS, hãy kiểm tra sự hiện diện của ngôn ngữ được yêu cầu trong hệ thống (theo mặc định ru_RU.UTF-8):


    5.Nếu hệ thống mà PostgreSQL hoạt động được cài đặt bằng ngôn ngữ không phải tiếng Nga, bạn cần tạo các ngôn ngữ mới:

    locale-gen ru_RU update-locale LANG=ru_RU.UTF8 dpkg-reconfigure locales

    6.Nếu ngôn ngữ được yêu cầu vẫn có sẵn, hãy cài đặt nó theo mặc định:

    locale –a nano /etc/default/locale Thay thế nội dung bằng LANG=ru_RU.UTF-8

    7.Sau khi khởi động lại, hãy cài đặt các gói cần thiết cho phiên bản PostgreSQL của chúng tôi:

    apt-get cài đặt libxslt1.1 ssl-cert

    8. Gói PostgreSQL phiên bản 9.4.2-1.1C được liên kết với phiên bản gói libicu libicu48. Phiên bản được yêu cầu không còn trong kho lưu trữ nhưng bạn có thể tải xuống;

    9.Tải xuống và đặt vào thư mục lưu trữ các tệp đã tải xuống cho PostgreSQL;

    10. Bằng cách đi tới thư mục chứa các tệp PostgreSQL, chúng tôi thực hiện cài đặt bằng cách gõ tuần tự các lệnh sau:

    đĩa CD<Путь к папке с файлами>dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb dpkg -i libpq5_9.4.2-1.1C_amd64.deb dpkg -i postgresql-client-common_154.1.1C_all.deb dpkg -i postgresql-common_154.1.1C_all.deb dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

    11.Xong. Gói phân phối DBMS PostgreSQL đã được cài đặt.

    Cài đặt bản phân phối PostgreSQL-Pro

    Để cài đặt máy chủ, bạn phải chạy lần lượt các lệnh sau:

    sudo sh -c "echo "deb http:// 1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list" wget --quiet -O - ​​​​http:// 1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key thêm - && sudo apt-get cập nhật sudo apt-get cài đặt postgresql-pro-1c-9.4

    Để truy cập vào server, chỉnh sửa các thông số trong file pg_hba.conf

    đĩa CD<Путь до каталога pg_hba.conf>cp pg_hba.conf pg_hba.conf.old bash -c "echo "local all postgres Trust" > pg_hba.conf" bash -c "echo "host all all all md5" >> pg_hba.conf"

    Bản thân tập tin có cấu trúc sau:


    Tệp này được ghi chép đầy đủ nhưng bằng tiếng Anh. Chúng ta hãy xem xét ngắn gọn các thông số chính:

    • Địa phương chỉ kết nối cục bộ qua unix
    • Chủ nhà Kết nối TCP/IP
    • máy chủ kết nối SSL được mã hóa qua TCP/IP (máy chủ phải được xây dựng với sự hỗ trợ SSL, tham số ssl cũng phải được đặt)
    • Hostnossl kết nối không được mã hóa qua TCP/IP
    • lòng tin thừa nhận mà không cần xác thực
    • từ chối từ chối mà không cần xác thực
    • mật khẩu yêu cầu mật khẩu văn bản rõ ràng
    • md5 yêu cầu mật khẩu ở dạng MD5
    • ldap xác minh tên người dùng và mật khẩu bằng máy chủ LDAP
    • bán kính Xác minh tên người dùng và mật khẩu bằng máy chủ RADIUS
    • bố xác minh tên người dùng và mật khẩu bằng dịch vụ plugin

    Thông tin chi tiết và chi tiết hơn có thể được tìm thấy trong tài liệu dành cho sản phẩm PostgreSQL.

    root@NODE2:/home/asd# service --status-all |grep postgres [ - ] postgresql root@NODE2:/home/asd# service postgresql start root@NODE2:/home/asd# service --status-all | grep postgres (+) postgresql

    Sau khi hoàn tất quá trình cài đặt chính, bạn cần định cấu hình tệp cấu hình máy chủ postgresql.conf, theo thông số cụ thể của cấu hình máy chủ PostgreSQL, máy chủ 1C và Ubuntu.

    Tối ưu hóa 1C cho MS SQL Server

    Cài đặt các bản cập nhật mới nhất cho SQL Sever.

    Hệ điều hành dự trữ dung lượng và lấp đầy nó bằng số 0, việc này mất khá nhiều thời gian trong các sự kiện sau:

    • Tạo cơ sở dữ liệu;
    • Thêm tệp dữ liệu, nhật ký giao dịch vào cơ sở dữ liệu hiện có;
    • Tăng kích thước của tệp hiện có (bao gồm các hoạt động Autogrow);
    • Chúng tôi khôi phục cơ sở dữ liệu hoặc nhóm tệp.

    Vấn đề này được giải quyết bằng cách thêm vai trò (trong đó máy chủ đang chạy) vào mục chính sách bảo mật cục bộ “Thực hiện các tác vụ bảo trì khối lượng”.

    Nếu có thể, cần phân phối cơ sở dữ liệu TempDB (nó được sử dụng đặc biệt chuyên sâu trong chế độ khóa được quản lý RCSI) và nhật ký giao dịch trên các đĩa khác nhau.

    Trên máy chủ chạy SQL Server, chế độ tiết kiệm năng lượng phải được đặt thành “Hiệu suất cao”.

    Không nên nén thư mục chứa các tệp cơ sở dữ liệu.

    Trên tab “Bộ nhớ” dành cho máy chủ, chúng tôi đặt mức tối thiểu là 50% tổng bộ nhớ. Chúng tôi tính toán mức tối đa bằng một trong các công thức:

    • Bộ nhớ tối đa = Tổng dung lượng - kích thước theo OS - kích thước cho 1C (Nếu có, trước đó đã đo bộ nhớ được sử dụng với bộ đếm) hoặc
    • Bộ nhớ tối đa = Tổng kích thước – (1024* Tổng kích thước/16384).

    Chúng tôi giới hạn tham số DOP “Mức độ song song tối đa” và đặt nó thành “1”.

    Chúng tôi cập nhật số liệu thống kê theo lịch trình. Bắt đầu với SQL Server 2008, việc cập nhật số liệu thống kê khiến các truy vấn được biên dịch lại và do đó xóa bộ nhớ đệm thủ tục, do đó không cần thực hiện quy trình riêng để xóa bộ nhớ đệm thủ tục.

    Chúng tôi lập chỉ mục lại bảng theo định kỳ và chống phân mảnh các chỉ mục.

    Chúng tôi thiết lập chính sách đặt phòng chính xác. Nếu bạn không cần khôi phục về thời điểm cuối cùng trước khi hệ thống gặp sự cố và 5 phút cuối cùng trở lên không quan trọng đối với doanh nghiệp của bạn, thì hãy đặt mô hình khôi phục thành “Đơn giản”. Điều này sẽ tăng tốc đáng kể tốc độ ghi của bạn. Điều chính là việc sao lưu khác biệt có thể được hoàn thành trong thời gian quy định.

    Chúng tôi đạt được những cải tiến khi làm việc với TempDB trong I/O bằng cách tạo các tệp dữ liệu bổ sung. Nếu có ít hơn 8 bộ xử lý logic, bạn nên tạo tệp dữ liệu cho mỗi bộ xử lý logic. Nếu có nhiều hơn 8 bộ xử lý logic, bạn nên tạo 8 tệp dữ liệu và tăng thêm một ở bội số của 4, đảm bảo ước tính tải trên TempDB.

    PostgreSQL DBMS rất phổ biến đối với người dùng và lý do cho điều này là chất lượng tốt của nó trong khi hoàn toàn miễn phí. Mức độ phổ biến cao đã dẫn đến thực tế là các tác vụ liên quan đến truy cập trực tiếp vào cơ sở dữ liệu PostgreSQL từ 1C được gặp khá thường xuyên. Chúng ta sẽ nói về cách tổ chức quyền truy cập này bên dưới.

    Sự chuẩn bị

    Lúc đầu, phải nói rằng tất cả các thử nghiệm đều được thực hiện trên Windows 7 (64-bit) và Windows 10 (64-bit), đồng thời thực hiện kết nối với máy chủ PostgreSQL (64-bit) 9.4.2-1.1C .

    Điều đầu tiên chúng ta cần là cài đặt trình điều khiển psqlODBC. Bạn có thể cài đặt nó bằng ứng dụng Stack Builder (được cài đặt với PostgreSQL):

    Hoặc bằng cách truy cập trang giới thiệu nhiều phiên bản trình điều khiển của chúng tôi:


    Quan trọng! Bạn cần cài đặt psqlODBC (32 bit).

    Với trình điều khiển psqlODBC (64 bit), tôi không thể kết nối với cơ sở dữ liệu theo bất kỳ cách nào, trên bất kỳ HĐH nào. Rất có thể nguyên nhân là do tay tôi bị cong, nhưng tôi viết những gì ở đó.

    Dù sao, sau khi cài đặt đúng phiên bản trình điều khiển, chúng ta có một số cách để lấy dữ liệu.

    Kết nối nguồn dữ liệu bên ngoài

    Việc kết nối cơ sở dữ liệu PostgreSQL dưới dạng nguồn dữ liệu ngoài rất đơn giản và trực quan. Tạo nguồn dữ liệu ngoài mới và thêm bảng mới:


    Sau đó, chúng tôi chỉ định chuỗi kết nối giống như thế này:

    Trình điều khiển=(PostgreSQL Unicode);Máy chủ= chủ nhà;Cổng= Hải cảng;Cơ sở dữ liệu= db_name;Uid= người dùng;Pwd= mật khẩu;STMT=utf8


    Và kết quả là chúng ta có được danh sách các bảng:


    Tôi lưu ý rằng khi tạo nguồn dữ liệu ngoài, tôi không thể sử dụng các nguồn dữ liệu tùy chỉnh như được mô tả bên dưới.

    Kết nối bằng ADODB

    Việc kết nối với cơ sở dữ liệu PostgreSQL và chạy các truy vấn khác nhau bằng thư viện ADOdb trông giống như thế này:

    &Thủ tục OnClient QueryPostgreSQL(Lệnh) ADOConnection = COMObject mới("ADODB.CONNECTION"); ADOSconnection.Provider = "MSDASQL.1"; ADOSconnection.ConnectionString = "Driver=(PostgreSQL Unicode);Server=localhost;Port=5432;Database=test;Uid=postgres;Pwd=123456;STMT=utf8"; Đang thử ADOSconnection.Open(); Trả lại ngoại lệ; EndAttempt; ADONRecordSet = COMObject mới("ADODB.RecordSet"); ADOCommand = COMObject mới("ADODB.Command"); Hãy thử ADOCommand.ActiveConnection = ADOConnection; ADOCommand.CommandText = "CHỌN * TỪ ""bảng"";"; ADONRecordSet = ADOCommand.Execute(); Trả lại ngoại lệ; EndAttempt; Kết thúc thủ tục

    &Trên máy khách

    Thủ tục QueryPostgreSQL (Lệnh)

    ADOConnection= COMObject mới("ADODB.CONNECTION" );

    kết nối ADOS Nhà cung cấp= "MSDASQL.1" ;

    kết nối ADOS Chuỗi kết nối= "Trình điều khiển=(PostgreSQL Unicode);Máy chủ=localhost;Port=5432;Cơ sở dữ liệu=test;Uid=postgres;Pwd=123456;STMT=utf8";

    Nỗ lực

    kết nối ADOS Mở() ;

    Ngoại lệ

    Trở lại;

    EndAttempt;

    ADONRecordSet = COMObject mới("ADODB.RecordSet" ) ;

    ADOCommand= COMObject mới("ADODB.Command" );

    Nỗ lực

    Nhóm ADO. ActiveConnection=Kết nối ADOS;

    Nhóm ADO. CommandText= "CHỌN * TỪ " "bảng" ";" ;

    ADONRecordSet = ADOCommand. Hành hình();

    Ngoại lệ

    Trở lại;

    EndAttempt;

    Kết thúcThủ tục

    Trong trường hợp này, có thể sử dụng nguồn dữ liệu tùy chỉnh, nguồn dữ liệu này phải được tạo trước. Điều này có thể được thực hiện bằng cách sử dụng ứng dụng Nguồn dữ liệu ODBC (32-bit), nằm trong Bảng điều khiển (và trong Windows 10 trong thư mục Công cụ quản trị trong Bảng điều khiển). Điều quan trọng là phải sử dụng phiên bản 32-bit vì mỗi phiên bản chỉ nhìn thấy trình điều khiển "của riêng nó". Nếu vì lý do nào đó, ứng dụng này không có trên bảng điều khiển thì bạn có thể khởi chạy nó trực tiếp; nó nằm ở \Windows\SysWOW64\odbcad32.exe.

    Ngày 1 tháng 11 năm 2012 Lợi ích của việc sử dụng phần mềm miễn phí là rất rõ ràng. Thật không may, những nhược điểm cũng rất rõ ràng - không có hỗ trợ chính thức, tài liệu thường mâu thuẫn, không đầy đủ và nằm rải rác trên nhiều nguồn khác nhau. Bài viết này sẽ giúp bạn hiểu quy trình cài đặt PosgreSQL cho 1C:Enterprise 8, tránh những cạm bẫy không được mô tả trong tài liệu chính thức.

    Các thành phần cần thiết để cài đặt

    Hệ quản trị cơ sở dữ liệu PostgreSQL được phân phối miễn phí và được bao gồm trong gói phân phối của máy chủ ứng dụng 1C. Máy chủ ứng dụng 1C:Enterprise 8 có hai phiên bản: 32-bit và 64-bit. Postgre có thể xử lý cả hai.

    Vì vậy, chúng tôi có sẵn bộ phân phối:

    • Postgre: postgresql-9_1_2-1_1Cx64.zip, do 1C cung cấp.
    • Phân phối máy chủ ứng dụng 1C:Enterprise cho Windows x64, phiên bản 8.2.16.368.

    Có vẻ như mọi việc không thể đơn giản hơn - chỉ cần chạy và cài đặt. Một cách dễ dàng! Nhưng việc cài đặt ở chế độ tiêu chuẩn sẽ có một hạn chế nhỏ: cụm sẽ nằm trong thư mục “Tệp chương trình”. Không phải tất cả mọi người sẽ thích nó. Hãy xem xét hai tùy chọn cài đặt, đơn giản và nâng cao.

    Bài viết được chia thành 5 phần:

    1) Cài đặt máy chủ 1C.

    2) Cài đặt PostgreSQL ở dạng tiêu chuẩn, đủ để chạy 1C mà không cần cài đặt bổ sung.

    3) Cài đặt PostgreSQL và chọn thư mục lưu trữ cụm.

    4) Tạo cơ sở thông tin 1C mới.

    5) Chỉ định thư mục lưu trữ các tệp cơ sở dữ liệu trên máy chủ DBMS.

    Hãy nhớ đọc toàn bộ bài viết trước khi cài đặt!

    Cài đặt máy chủ ứng dụng 1C

    Chúng tôi khởi chạy setup.exe từ thư mục có bộ phân phối máy chủ 1C.

    Nếu bạn cài đặt máy chủ ứng dụng không phải như một dịch vụ, bạn sẽ cần phải khởi động nó theo cách thủ công mỗi lần. Tùy chọn này hiếm khi cần thiết. Chúng tôi cài đặt nó như một dịch vụ và quyết định nó sẽ được khởi chạy theo người dùng nào. Vì lý do bảo mật, tốt hơn là tạo một người dùng USR1CV82 riêng thay vì cho phép dịch vụ chạy với đầy đủ quyền.

    Sau khi cài đặt máy chủ ứng dụng, hệ thống sẽ nhắc bạn cài đặt driver key bảo vệ HASP. Chúng ta đồng ý:

    Chúng tôi đang chờ đợi một tin nhắn:

    Nếu thông báo khác, rất có thể hệ thống còn sót lại những "đuôi" từ các lần cài đặt trình điều khiển HASP trước đó. Xóa tất cả và thử lại.

    Vậy là chúng ta đã cài đặt thành công máy chủ ứng dụng 1C:Enterprise 8.

    Cài đặt PostgreSQL dạng chuẩn, đủ chạy 1C không cần cài đặt thêm

    Chạy "postgresql-9.1.2-1.1C(x64).msi"

    Bạn không phải thay đổi các tùy chọn cài đặt, 1C sẽ hoạt động. Hơn nữa.

    Postgre, giống như máy chủ 1C, có thể tự tạo người dùng để bạn chạy dịch vụ. Xin lưu ý rằng nếu bạn chỉ định một tài khoản có quyền quản trị viên, dịch vụ sẽ không hoạt động chính xác. Hãy chắc chắn để tạo một người dùng mới.

    Cửa sổ cài đặt tiếp theo.

    Chúng tôi khởi tạo cụm. Nếu máy chủ cơ sở dữ liệu và máy chủ ứng dụng 1C của chúng tôi được đặt trên các máy tính khác nhau, thì hãy chọn hộp “Hỗ trợ kết nối từ bất kỳ IP nào”, nếu không chúng tôi sẽ không chạm vào nó. Đảm bảo chỉ định mã hóa UTF8. Tạo siêu người dùng DBMS. Hơn nữa…

    Đối với công việc ban đầu, chúng tôi không cần thêm bất cứ điều gì, hãy bỏ chọn hộp và hoàn tất cài đặt.

    Kết quả của những nỗ lực của chúng tôi là PostgreSQL sẵn sàng sử dụng. Nếu chúng tôi hài lòng rằng cơ sở dữ liệu sẽ được đặt trong Program Files\PostgreSQL\9.1.2-1.1C\data, chúng tôi kết thúc ở đó, mở cơ sở dữ liệu và tận hưởng quá trình này. Tuy nhiên, thường xuyên hơn không, cơ sở dữ liệu "nằm" trên các mảng đĩa được thiết kế đặc biệt cho mục đích này chứ không phải trên đĩa hệ thống. Để định cấu hình vị trí dữ liệu, vui lòng đọc phần sau trước khi cài đặt.

    Cài đặt Postgre bằng cách chọn vị trí lưu trữ cụm

    Chúng tôi tiến hành cài đặt Postgre và thực hiện tất cả các bước cho đến khi được nhắc khởi tạo cụm:

    Bỏ chọn hộp kiểm "Khởi tạo cụm cơ sở dữ liệu" và nhấp vào "Tiếp theo".

    Vâng, chúng tôi chắc chắn.

    Bỏ chọn “Chạy Stack Builder khi thoát” và hoàn tất cài đặt.

    1. Cần phải cấp toàn quyền cho thư mục mà chúng tôi đã cài đặt PostgreSQL, thông thường đây là C:\Program Files\PostgreSQL

    2. Khởi chạy cmd với tư cách quản trị viên. Nếu bạn làm điều này trong win7, hãy chạy nó với tư cách Quản trị viên.

    3. Tạo một thư mục nơi cụm sẽ được lưu trữ. Ví dụ d:\postgredata.

    md d:\postgredata

    4. Chúng tôi khởi tạo cụm theo cách thủ công, chỉ ra đường dẫn nơi nó sẽ được đặt.

    “C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\initdb.exe" -D d:\postgredata --locale=Nga_Nga --encoding=UTF8 -U postgres

    5. Xóa dịch vụ PostgreSQL đã được cài đặt trong quá trình cài đặt.

    sc xóa pssql-9.1.2-1.1C-x64

    Trong đó pssql-9.1.2-1.1C-x64 là tên của dịch vụ. Nếu bạn không biết chính xác tên, bạn có thể xem các thuộc tính của dịch vụ “Máy chủ cơ sở dữ liệu PostgreSQL…” (Bắt đầu - Bảng điều khiển - Công cụ quản trị - Dịch vụ)

    6. Tạo một dịch vụ mới cho biết cụm của chúng tôi

    Đăng ký “C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_ctl" -N pgsql -U postgresql -P mật khẩu -D d:/postgredata

    7. Bây giờ chúng ta hãy chuyển sang phần dịch vụ. Bắt đầu – Bảng điều khiển – Quản trị – Dịch vụ và bắt đầu dịch vụ của chúng tôi.

    Tạo cơ sở dữ liệu 1C mới trên máy chủ bằng PostgreSQL

    Có một số tùy chọn để tạo cơ sở dữ liệu. Bạn có thể thử tạo cơ sở dữ liệu thông qua pgAdmin3, bảng điều khiển quản trị máy chủ 1C. Nhưng ở đây bạn sẽ phải đối mặt với rất nhiều câu hỏi khó hiểu và hàng loạt sai sót, câu trả lời mà bạn sẽ mất rất nhiều thời gian để tìm kiếm. Hãy để việc đó cho các chuyên gia. Mục tiêu của chúng tôi là có được một cơ sở làm việc với nỗ lực tối thiểu. Hãy mô tả cách dễ nhất để đạt được điều này.

    Chúng tôi khởi chạy ứng dụng khách 1C.

    Nhấp vào "Thêm ...".

    Chúng tôi đặt tên cho cơ sở dữ liệu, sau đó cho biết “Trên máy chủ 1C:Enterprise”.

    Cụm máy chủ 1C:Doanh nghiệp– localhost, nếu chúng ta đang tạo cơ sở dữ liệu trên cùng một máy tính nơi máy chủ 1C được cài đặt hoặc tên của máy chủ ứng dụng 1C, nếu trên một máy chủ khác.

    Tên của cơ sở thông tin trong cụm- trong tương lai, tên này sẽ được chỉ định khi kết nối từ các máy tính khác.

    loại cơ sở dữ liệu– Chọn PostgreSQL.

    Máy chủ cơ sở dữ liệu- cho biết tên của máy chủ PostgreSQL. Nếu chúng tôi tạo cơ sở dữ liệu trên máy chủ, chúng tôi cũng chỉ định localhost.

    Tên cơ sở dữ liệu– với tên này, cơ sở dữ liệu sẽ được tạo trong PostgreSQL.

    Mật khẩu người dùng– tên của người dùng mà chúng tôi đã chỉ định làm siêu người dùng khi cài đặt PostgreSQL. Hãy nhớ chọn hộp kiểm “Tạo cơ sở dữ liệu nếu nó không tồn tại”.

    Câu hỏi đặt ra - cơ sở dữ liệu sẽ được lưu trữ vật lý ở đâu? Trong thư mục Base của cụm được chỉ định. Điều gì sẽ xảy ra nếu chúng ta không muốn nó nằm ở nơi có tất cả các căn cứ? Chúng tôi chưa thể làm gì về điều đó, chúng tôi sẽ chỉ tạo căn cứ và tiếp tục. Hơn nữa…

    Chỉ định thư mục lưu trữ cơ sở dữ liệu

    Vì vậy, chúng tôi đã tạo ra một cơ sở. Trong hầu hết các trường hợp, đây là lúc quá trình cài đặt kết thúc. Tuy nhiên, nếu có nhiều cơ sở dữ liệu và có một số mảng đĩa cho các nhóm cơ sở dữ liệu khác nhau, bạn cần chỉ ra vị trí thực tế của cơ sở dữ liệu. Để thực hiện việc này, hãy chạy pgAdmin3 từ Bắt đầu – Chương trình – PostgreSQL. Kết nối với máy chủ của chúng tôi.

    Khi bạn kết nối lần đầu, Postgre sẽ yêu cầu mật khẩu cho người dùng postgres (mà chúng tôi đã tạo trong quá trình cài đặt).

    Chúng tôi tạo một TableSpace mới, đây sẽ là thư mục chứa cơ sở dữ liệu của chúng tôi.

    Chỉ định vị trí lưu trữ cho các tập tin cơ sở dữ liệu. ĐƯỢC RỒI.

    Bây giờ chúng tôi mở các thuộc tính của cơ sở dữ liệu đã tạo trước đó, vị trí mà chúng tôi muốn thay đổi.

    Thay đổi thuộc tính Tablespace. Sau khi nhấp vào "OK", các tệp cơ sở dữ liệu sẽ được tự động di chuyển. Sẵn sàng! Chúng tôi hy vọng rằng bài viết này hữu ích cho bạn. Nếu vậy, hãy để lại bình luận và chia sẻ liên kết đến trang này. Cảm ơn!

    Tôi đã cập nhật một trong các máy chủ Debian lên 9.2 Stretch, do đó cần phải cài đặt máy chủ 1C và PostgreSQL, các phiên bản mới nhất.

    Nhiệm vụ

    Có một máy chủ cài sẵn Debian 9.2 Stretch, máy chủ 1C:Enterprise phân phối 8.3.10.2580 và PosgreSQL 9.6. Cần phải cài đặt và định cấu hình máy chủ 1C:Enterprise 8.3.10.2580 và PosgreSQL 9.6 để cộng tác.

    Giải pháp

    Điều đầu tiên chúng tôi làm là thiết lập bản địa hóa, máy chủ 1C hoạt động với bản địa hóa ru_RU.UTF8 và PostgreSQL tạo một cụm với bản địa hóa mặc định.

    # locale-gen en_US # locale-gen ru_RU # update-locale LANG=ru_RU.UTF8 # dpkg-reconfigure locales

    Lệnh cuối cùng sẽ mở một giao diện đồ họa giả, trong đó bạn cần kiểm tra tính chính xác của các tùy chọn đã chọn và trả lời khẳng định; trên thực tế, bạn có thể thực hiện bằng lệnh cuối cùng và định cấu hình mọi thứ trong đó. Để áp dụng các thay đổi, bạn phải khởi động lại hệ thống.

    Cài đặt máy chủ 1C:Enterprise

    Hãy cài đặt sẵn các gói cần thiết

    # apt-get cài đặt imagemagick ttf-mscorefonts-instal

    Theo quy định, không có vấn đề gì khi cài đặt máy chủ, chúng tôi chỉ cài đặt các gói một cách tuần tự

    # dpkg -i 1c-enterprise83-common_8.3.10-2580_amd64.deb # dpkg -i 1c-enterprise83-server_8.3.10-2580_amd64.deb # dpkg -i 1c-enterprise83-ws_8.3.10-2580_amd64.deb

    Nếu đột nhiên các gói không đến thì hãy sử dụng lệnh

    # cài đặt apt-get -f

    cuối cùng thì mọi thứ sẽ ổn, nếu nó không ổn thì chúng tôi đọc phần xả và sửa các phần phụ thuộc. Tôi không gặp bất kỳ vấn đề gì.

    Ở giai đoạn này, bạn đã có thể thêm máy chủ vào bảng điều khiển máy chủ và nó sẽ hiển thị.

    Để bắt đầu, khởi động lại, dừng dịch vụ máy chủ 1C:Enterprise, bạn có thể sử dụng các lệnh sau:

    # /etc/init.d/srv1cv83 bắt đầu # /etc/init.d/srv1cv83 khởi động lại # /etc/init.d/srv1cv83 dừng

    Nếu bạn cần cài đặt trình điều khiển HASP, bạn có thể đọc cách thực hiện việc này trong bài viết.

    Cài đặt PostgreSQL

    Với PostgreSQL, không phải mọi thứ đều đơn giản như vậy, trước đó đã có phiên bản 9.4 do 1C phân phối, bản phân phối có tất cả các gói và để tránh sự cố, phiên bản đã được sửa bằng apt. Nhưng trong phiên bản 9.6, không phải tất cả các gói; một số gói phải được cài đặt từ kho lưu trữ gốc với phiên bản PostgreSQL và các thành phần phụ thuộc được hạ cấp xuống phiên bản bắt buộc.

    Tôi thực sự không thích con đường này, trên Internet và trên một chương trình liên kết, tôi tình cờ thấy PostgreSQL do Postgres Professional phân phối và quyết định cài đặt nó. Công ty này có sản phẩm riêng có tên Postgre Pro dành cho khách hàng doanh nghiệp, nhưng PostgreSQL đủ đáp ứng nhu cầu của tôi, nó được phân phối dưới dạng .

    Theo hướng dẫn, kết nối kho lưu trữ, thêm khóa và cài đặt PostgreSQL

    # sh -c "echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list" # wget -- yên tĩnh -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | thêm khóa apt - && cập nhật apt-get # apt-get cài đặt postgresql-pro-1c-9.6

    Một cụm được tạo tự động trong quá trình cài đặt chủ yếu, bạn chỉ cần thực hiện một số điều chỉnh. Để kết nối, hãy mở tệp / etc/postgresql/9.6/main/pg_hba.conf

    # nano /etc/postgresql/9.6/main/pg_hba.conf

    tìm dòng

    Tất cả các đồng nghiệp postgres địa phương

    và thay đổi thành ngang nhau TRÊN lòng tin

    # psql -U postgres -d template1 -c "THAY ĐỔI NGƯỜI DÙNG postgres MẬT KHẨU" Mật khẩu""

    thay vì Mật khẩu viết mật khẩu cần thiết.

    Tất cả những gì còn lại là khởi động lại dịch vụ và bạn có thể kết nối với máy chủ PostgreSQL bằng pgAdmin.

    Để bắt đầu, khởi động lại, dừng dịch vụ máy chủ PostgreSQL, bạn có thể sử dụng các lệnh sau:

    # /etc/init.d/postgresql bắt đầu # /etc/init.d/postgresql khởi động lại # /etc/init.d/postgresql dừng

    Nếu bạn đã làm mọi thứ mà máy chủ vẫn không hoạt động thì điều đầu tiên bạn cần làm là kiểm tra bản địa hóa. Nếu cài đặt sai bản địa hóa thì bạn cần tạo lại cụm, lệnh và kết quả thực thi bên dưới

    # pg_dropcluster --stop 9.6 main Chuyển hướng yêu cầu dừng sang systemctl # pg_createcluster --locale ru_RU.UTF-8 9.6 main Tạo cụm mới 9.6/main ... config /etc/postgresql/9.6/main data /var/lib/postgresql/ Ổ cắm 9.6/ngôn ngữ chính ru_RU.UTF-8 /var/run/postgresql port 5432

    Kiểm tra kết quả

    Bây giờ bạn có thể vào bảng điều khiển máy chủ để thêm bảo mật thông tin và kiểm tra hoạt động.

    Chúng tôi sẽ cài đặt một bộ lắp ráp từ công ty Postgres Professional. Trên trang có phiên bản dành cho 1C:Enterprise, chúng tôi sẽ tìm thấy thông tin về cách cài đặt phiên bản PostgreSQL mới nhất trên CentOS 7.

    Hãy kết nối các kho lưu trữ và cài đặt PostgreSQL 9.6:

    Sudo vòng/phút -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm sudo yum makecache sudo yum cài đặt postgresql-pro-1c-9.6

    Thiết lập PostgreSQL cơ bản

    Chúng tôi khởi tạo cơ sở dữ liệu dịch vụ bằng bản địa hóa tiếng Nga:

    Su postgres /usr/pgsql-9.6/bin/initdb -D /var/lib/pgsql/9.6/data --locale=ru_RU.UTF-8 thoát dịch vụ postgresql-9.6 initdb

    Khởi động dịch vụ PostgreSQL và thêm nó vào phần khởi động:

    Systemctl kích hoạt postgresql-9.6 systemctl bắt đầu postgresql-9.6 trạng thái systemctl postgresql-9.6

    Chúng tôi đặt mật khẩu cho người dùng postgres để có thể kết nối với máy chủ từ xa:

    Su - postgres psql THAY ĐỔI NGƯỜI DÙNG postgres VỚI MẬT KHẨU MÃ HÓA "yourpassword"; \q thoát

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

    trong tệp mở ra, bỏ ghi chú và thay đổi dòng:

    lưu trữ tất cả 127.0.0.1/32 nhận dạng TRÊN lưu trữ tất cả 127.0.0.1/32 md5

    lưu trữ tất cả 0.0.0.0/0 danh tính TRÊN lưu trữ tất cả 0.0.0.0/0 md5

    Tối ưu hóa cài đặt PostgreSQL (postgresql.conf) cho 1C:Enterprise

    Đây sẽ là cài đặt cho PostgreSQL chạy trên máy ảo ESXi 6.5.

    Tài nguyên được phân bổ cho VM:

    bộ xử lý - 8 vCPU;

    bộ nhớ - 48 GB;

    đĩa dành cho HĐH - 50 GB trên phần cứng LUN RAID1 từ SAS HDD;

    đĩa cho cơ sở dữ liệu - 170 GB trên phần mềm RAID1 từ SSD

    đĩa để ghi nhật ký - 100 GB trên phần mềm RAID1 từ SSD

    Để chỉnh sửa cài đặt, hãy chạy lệnh:

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

    Đã nhận xét các tham số mà chúng tôi sẽ thay đổi phải được kích hoạt.

    CPU

    autovacuum_max_workers = 4

    autovacuum_max_workers = NCores/4..2 nhưng không nhỏ hơn 4

    Số lượng quy trình tự động chân không. Nguyên tắc chung là càng nhiều yêu cầu ghi thì càng có nhiều quy trình. Trên cơ sở dữ liệu chỉ đọc, một quy trình là đủ.

    ssl=tắt

    Vô hiệu hóa mã hóa. Đối với các trung tâm dữ liệu an toàn, mã hóa là vô nghĩa nhưng dẫn đến tăng tải CPU

    Ký ức

    chia sẻ_buffers = 12GB

    Shared_buffers = RAM/4

    Dung lượng bộ nhớ được PGSQL phân bổ cho bộ đệm trang được chia sẻ. Bộ nhớ này được chia sẻ giữa tất cả các tiến trình PGSQL. Bản thân hệ điều hành lưu trữ dữ liệu vào bộ đệm, do đó không cần phân bổ tất cả RAM có sẵn vào bộ đệm.

    temp_buffers = 256MB

    Số trang tối đa cho các bảng tạm thời. Những thứ kia. đây là giới hạn trên về kích thước của các bảng tạm thời trong mỗi phiên.

    công_mem = 64MB

    work_mem = RAM/32..64 hoặc 32MB..128MB

    Giới hạn bộ nhớ để xử lý một yêu cầu. Bộ nhớ này là riêng cho mỗi phiên. Về mặt lý thuyết, bộ nhớ yêu cầu tối đa bằng max_connections *work_mem, trên thực tế điều này không xảy ra vì hầu hết các phiên hầu như luôn chờ. Giá trị tư vấn này được trình tối ưu hóa sử dụng: nó cố gắng dự đoán kích thước của bộ nhớ cần thiết cho truy vấn và nếu giá trị này lớn hơn work_mem, nó sẽ yêu cầu người thực thi tạo ngay một bảng tạm thời. work_mem không phải là một giới hạn theo nghĩa đầy đủ: trình tối ưu hóa có thể bị thiếu và yêu cầu sẽ chiếm nhiều bộ nhớ hơn, có thể nhiều hơn gấp nhiều lần. Giá trị này có thể được giảm bằng cách theo dõi số lượng tệp tạm thời được tạo:

    bảo trì_work_mem = 2GB

    bảo trì_work_mem = RAM/16..32 hoặc work_mem * 4 hoặc 256MB..4GB

    Giới hạn bộ nhớ cho các tác vụ bảo trì, chẳng hạn như thu thập số liệu thống kê (ANALYZE), thu gom rác (VACUUM), tạo chỉ mục (CREATE INDEX) và thêm khóa ngoại. Kích thước bộ nhớ được phân bổ cho các hoạt động này phải tương đương với kích thước vật lý của chỉ mục lớn nhất trên đĩa.

    hiệu quả_cache_size = 36GB

    hiệu quả_cache_size = RAM - Shared_buffers

    Ước tính kích thước bộ đệm của hệ thống tập tin. Việc tăng tham số sẽ làm tăng xu hướng chọn các gói IndexScan của hệ thống. Và điều này là tốt.

    Đĩa

    hiệu quả_io_concurrency = 5

    Ước tính số lượng yêu cầu đồng thời tới một hệ thống đĩa mà nó có thể phục vụ cùng một lúc. Đối với một đĩa đơn = 1, đối với RAID - 2 hoặc nhiều hơn.

    chi phí trang_ngẫu nhiên = 1,3

    Random_page_cost = 1,5-2,0 cho RAID, 1,1-1,3 cho SSD

    Chi phí đọc một trang ngẫu nhiên (mặc định 4). Thời gian tìm kiếm của hệ thống đĩa càng nhỏ thì tham số này càng nhỏ (nhưng > 1.0). Giá trị tham số quá lớn làm tăng xu hướng chọn các kế hoạch quét toàn bộ bảng của PGSQL (PgSQL cho rằng việc đọc toàn bộ bảng một cách tuần tự sẽ rẻ hơn so với đọc chỉ mục ngẫu nhiên). Và điều đó thật tệ.

    autovacuum=bật

    Đang bật chế độ tự động hút chân không.

    autovacuum_naptime = 20s

    Thời gian ngủ của quá trình tự động hút chân không. Nếu giá trị quá lớn, các bảng sẽ không có thời gian để hút bụi và kết quả là kích thước của các bảng và chỉ mục sẽ tăng lên. Một giá trị nhỏ sẽ dẫn đến sự nóng lên không cần thiết.

    bgwriter_delay = 20ms

    Thời gian ngủ giữa các chu kỳ ghi đĩa của quá trình ghi nền. Quá trình này chịu trách nhiệm đồng bộ hóa các trang nằm trong Shared_buffers với đĩa. Giá trị quá lớn cho tham số này sẽ làm tăng tải cho quy trình điểm kiểm tra và xử lý các phiên phân phối (phụ trợ). Một giá trị nhỏ sẽ dẫn đến một trong các lõi được tải đầy đủ.

    bgwriter_lru_multiplier = 4.0

    bgwriter_lru_maxpages = 400

    Các tùy chọn kiểm soát cường độ ghi của quá trình ghi nền. Trong một chu kỳ, bgwriter viết không nhiều hơn những gì được viết trong chu kỳ trước, nhân với bgwriter_lru_multiplier, nhưng không nhiều hơn bgwriter_lru_maxpages.

    đồng bộ_commit = tắt

    Vô hiệu hóa đồng bộ hóa đĩa tại thời điểm cam kết. Tạo ra nguy cơ mất một vài giao dịch cuối cùng (trong vòng 0,5-1 giây), nhưng đảm bảo tính toàn vẹn của cơ sở dữ liệu không có khoảng trống trong chuỗi cam kết. Nhưng nó làm tăng năng suất đáng kể.

    wal_keep_segments = 256

    wal_keep_segments = 32..256

    Số lượng phân đoạn WAL tối đa giữa các điểm kiểm tra. Các điểm kiểm tra quá thường xuyên dẫn đến tải ghi đáng kể trên hệ thống con đĩa. Mỗi phân đoạn có kích thước 16MB

    wal_buffers = 16MB

    Dung lượng bộ nhớ dùng chung sẽ được sử dụng để đệm dữ liệu WAL chưa được ghi vào đĩa. Giá trị mặc định -1 chỉ định kích thước bằng 1/32 (khoảng 3%) của , nhưng không nhỏ hơn 64 KB và không lớn hơn kích thước của một phân đoạn WAL (thường là 16 MB). Giá trị này có thể được đặt thủ công nếu giá trị được chọn tự động quá nhỏ hoặc lớn, nhưng mọi số dương nhỏ hơn 32 KB sẽ được coi là 32 KB. Tham số này chỉ có thể được đặt khi khởi động máy chủ.

    Nội dung của bộ đệm WAL được ghi vào đĩa khi mỗi giao dịch được thực hiện, vì vậy các giá trị quá lớn khó có thể mang lại nhiều lợi ích. Tuy nhiên, giá trị ít nhất vài megabyte có thể cải thiện hiệu suất ghi trên máy chủ bận khi nhiều khách hàng thực hiện giao dịch cùng một lúc. Tính năng tự động điều chỉnh hoạt động ở giá trị mặc định (-1), chọn các giá trị hợp lý trong hầu hết các trường hợp.

    mặc định_statistic_target = 1000

    Đặt giới hạn mục tiêu thống kê mặc định áp dụng cho các cột mà ALTER TABLE SET STATISTICS chưa chỉ định giới hạn riêng lẻ. Giá trị được đặt càng cao thì thời gian chạy ANALYZE càng lâu nhưng chất lượng ước tính của bộ lập lịch càng cao. Giá trị mặc định cho tham số này là 100.

    điểm kiểm tra_hoàn thành_target = 0,9

    Mức độ “bôi nhọ” của trạm kiểm soát. Tốc độ ghi trong một điểm kiểm tra được điều chỉnh sao cho thời gian của điểm kiểm tra bằng với thời gian đã trôi qua kể từ quá khứ, nhân với mục tiêu checkpoint_completion_.

    min_wal_size = 4G
    max_wal_size = 8G

    min_wal_size = 512MB.. 4G
    max_wal_size = 2 * min_wal_size

    Kích thước tối thiểu và tối đa của tệp WAL. Tương tự với checkpoint_segments

    fsync=bật

    Việc tắt tùy chọn này sẽ giúp tăng hiệu suất nhưng có nguy cơ mất tất cả dữ liệu nếu nguồn bị tắt đột ngột. Chú ý: nếu RAID có bộ đệm và đang ở chế độ ghi lại, hãy kiểm tra sự hiện diện và chức năng của pin bộ đệm của bộ điều khiển RAID! Nếu không, dữ liệu được ghi vào bộ đệm RAID có thể bị mất khi tắt nguồn và do đó, PGSQL không đảm bảo tính toàn vẹn của dữ liệu.

    row_security = tắt

    Vô hiệu hóa Kiểm soát độ phân giải mức bản ghi

    Enable_nestloop = tắt

    Bật hoặc tắt việc sử dụng các kế hoạch nối vòng lặp lồng nhau của bộ lập lịch. Không thể loại bỏ hoàn toàn các vòng lặp lồng nhau, nhưng nếu bạn tắt tùy chọn này, bộ lập lịch sẽ không sử dụng phương pháp này nếu có thể sử dụng các phương pháp khác. Theo mặc định, cài đặt này được bật.

    Ổ khóa

    max_locks_per_transaction = 256

    Số lượng khóa chỉ mục/bảng tối đa trong một giao dịch

    Cài đặt cho nền tảng 1C

    tiêu chuẩn_conforming_strings = tắt

    Cho phép sử dụng ký tự \ để thoát

    escape_string_warning = tắt

    Đừng cảnh báo về việc sử dụng ký tự \ để thoát

    Cài đặt hệ thống bảo vệ

    Hãy đảm bảo rằng máy chủ PostgreSQL chỉ hiển thị với máy chủ 1C: Enterprise được cài đặt trên cùng một máy.

    listen_addresses = 'localhost'

    Nếu máy chủ 1C: Enterprise được cài đặt trên một máy khác hoặc có nhu cầu kết nối với máy chủ DBMS bằng phần đính vào PGAdmin, thì thay vào đó localhost bạn cần chỉ định địa chỉ của máy này.

    Lưu trữ cơ sở dữ liệu

    PostgreSQL, giống như hầu hết mọi DBMS, rất quan trọng đối với hệ thống con đĩa, do đó, để tăng hiệu suất của DBMS, chúng tôi sẽ đặt hệ thống PostgreSQL, nhật ký và cơ sở dữ liệu trên các đĩa khác nhau.

    Dừng máy chủ

    Systemctl dừng postgresql-9.6

    Chúng tôi chuyển nhật ký sang ổ SSD 120 GB:

    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/ pssql/9.6/data/pg_log

    Chúng tôi cũng sẽ chuyển thư mục chứa cơ sở dữ liệu:

    Mv /var/lib/pgsql/9.6/data/base /raid200

    Ln -s /raid200/base /var/lib/pgsql/9.6/data/base

    Hãy khởi động máy chủ và kiểm tra trạng thái của nó

    Systemctl bắt đầu postgresql-9.6 trạng thái systemctl postgresql-9.6