ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ sql Π±Π°Π·Ρƒ Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ: ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π‘Π” SQL сСрвСр Π² ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ доступа

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

восстановлСниС систСмных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² отказоустойчивом кластСрС β€” Π‘Π»ΠΎΠ³

null

восстановлСниС систСмных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² отказоустойчивом кластСрС

15 января 2018

0

Maxim Zhukov

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

НС всС ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ MS SQL администраторы Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ восстановлСния систСмной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² частности MASTER, особСнно Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Microsoft FailoverCluster.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Основной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ) восстановлСния MASTER Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ(single user mode).

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ single ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ -m Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… запуска Π² оснасткС ДиспСтчСр ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ SQL Server

Π’ кластСрной срСдС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ LooksAlive ΠΈ IsAlive процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ single сСссию Π² ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ²ΡˆΠ΅ΠΌΡΡ сСрвСрС. 

ДСйствия

По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΠ»Π°Π½ дСйствий Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с остановки кластСра

  1. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ кластСр Ρ‡Π΅Ρ€Π΅Π· оснастку Failover Cluster Manager β€” Stop Roles
  2. Π½Π° ΡƒΠ·Π»Π΅ кластСра, Π³Π΄Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Cluster Core рСсурсы (storage ΠΈ cluster-ip) Π² диспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ SQL Server ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запуска -m для запуска Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (single user mode) согласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
  3. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис SQL Server β€” Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Ρ… Β«SQL Server (MSSQLSERVER)Β«
  4. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌΡƒ экзСмпляру SQL Server, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ находится Π² Single User Mode 
  5. Π’Ρ‹ΠΏΠΎΠ»Π½Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² sqlcmd) восстановлСния Master DB, согласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
2> GO  

 

Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ дСйствия

  1. ПослС восстановлСния ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ SQL Server Π² остнасткС SQL Server Configuration Manager. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ  ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запуска сСрвиса.
  2. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ  кластСр Ρ‡Π΅Ρ€Π΅Π· оснастку Failover Cluster Manager β€” Start Roles

 

P.S.

ИмСя ΠΏΠ»Π°Π½ восстановлСния своСй инфраструктуры, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ пСриодичСской Π°ΠΏΡ€ΠΎΠ±Π°Ρ†ΠΈΠΈ (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π½Π° врСмя выполнСния Π² тСстовой срСдС) качСство обслуТиваниС ΠΈ сокращСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ простоя Π² случаС ЧП сокращаСтся Π² Ρ€Π°Π·Ρ‹. Π’Π°ΠΊ ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΠ²Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС Π½Π° рост ΠΈ ΡƒΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ задСйствованных Π² этих «учСниях» ИВ-спСциалистов.

А ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΡƒΠ³Π»Π° Π½Π° это смотрит ΠΈ  ΜΆΠΎΜΆΠ±ΜΆΠΈΜΆΠΆΜΆΠ΅ΜΆΠ½ΜΆΠ½ΜΆΠΎΜΆ ΠΏΡ€Π΅Π·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„Ρ‹Ρ€ΠΊΠ°Π΅Ρ‚ Β«Π‘ΡŽΡ€Ρ€Ρ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡβ€¦Π‘ΡŽΡ€Ρ€Ρ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡβ€¦.Β«

Назад

Π’ΠΏΠ΅Ρ€Π΅Π΄

Please enable JavaScript to view the comments powered by
Disqus.

Postgres Pro Enterprise : ДокумСнтация: 15: postgres : Компания Postgres Professional

RU

EN

RU EN

postgres

postgres β€” Π‘Π΅Ρ€Π²Π΅Ρ€ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Postgres Pro

Бинтаксис

postgres [парамСтр…]

ОписаниС

postgres это сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Postgres Pro. Для получСния доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ устанавливаСт соСдинСниС (локально ΠΈΠ»ΠΈ ΠΏΠΎ сСти) с сСрвСром postgres. ПослС установки соСдинСния сСрвСр postgres ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ процСсс для Π΅Π³ΠΎ обслуТивания.

Один экзСмпляр postgres всСгда управляСт Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ кластСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ»Π°ΡΡ‚Π΅Ρ€ β€” это коллСкция Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ («области Π΄Π°Π½Π½Ρ‹Ρ…Β»). На ΠΎΠ΄Π½ΠΎΠΌ физичСском сСрвСрС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько экзСмпляров postgres ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ области Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ€Ρ‚Ρ‹. ΠŸΡ€ΠΈ запускС postgres Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ задаётся Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ -D ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PGDATA, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ отсутствуСт. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ -D ΠΈΠ»ΠΈ PGDATA ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, созданный Π²ΠΎ врСмя развёртывания кластСра с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ initdb. Π˜Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ рассмотрСны Π² Π Π°Π·Π΄Π΅Π»Π΅ 19.2.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ postgres запускаСтся Π½Π΅ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΆΡƒΡ€Π½Π°Π»Π° осущСствляСт Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ ошибок. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ postgres Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΈ стартС систСмы.

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ postgres Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ основном этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° этапС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ initdb. Иногда ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся Π² цСлях ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ послС Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ сбоя. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ сСрвСра Π²Π²ΠΈΠ΄Ρƒ отсутствия Π² Π½Ρ‘ΠΌ мСТпроцСссного взаимодСйствия ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Когда сСрвСр запускаСтся Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° экран, Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ этого Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ большС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Π΅ΠΌ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ считаСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСявно надСляСтся ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ фактичСски Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, поэтому Π² рядС случаСв этот Ρ€Π΅ΠΆΠΈΠΌ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΈ систСмных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° postgres ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π—Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π“Π»Π°Π²Π΅ 19. ΠžΡ‚ нСобходимости Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ, записав ΠΈΡ… Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НСкоторыС (бСзопасныС) ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Ρ‚ΡŒ со стороны ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π² зависимости ΠΎΡ‚ прилоТСния), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ сСансу. НапримСр, Ссли установлСна пСрСмСнная окруТСния PGOPTIONS, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π° Π±Π°Π·Π΅ libpq ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΡƒΡ‚ эту строку сСрвСру, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ воспримСт Π΅Ρ‘ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС postgres.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

-B количСство-Π±ΡƒΡ„Π΅Ρ€ΠΎΠ²

УстанавливаСт количСство раздСляСмых ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами Π±ΡƒΡ„Π΅Ρ€ΠΎΠ². Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выбираСтся автоматичСски ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ кластСра с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ initdb. Установка Ρ„Π»Π°Π³Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° shared_buffers.

-c имя=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

УстанавливаСт Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Postgres Pro, описаны Π² Π“Π»Π°Π²Π΅ 19. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ присваивания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. Для установлСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² -c ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ.

-C имя

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. (Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ описаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -c Π²Ρ‹ΡˆΠ΅.) ΠŸΡ€ΠΈ этом Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ значСния ΠΈΠ· postgresql.conf с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅. Однако ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, установлСнныС ΠΏΡ€ΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ сСрвСрС, Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ значСния ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ сСрвСрС. Однако для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², вычисляСмых Π²ΠΎ врСмя выполнСния, сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, shared_memory_size, shared_memory_size_in_huge_pages ΠΈ wal_segment_size).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… с сСрвСром, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ pg_ctl, ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ SHOW ΠΈΠ»ΠΈ прСдставлСниС pg_settings.

-d ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ-ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

УстанавливаСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (ΠΎΡ‚ 1 Π΄ΠΎ 5). Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ осущСствляСтся Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΆΡƒΡ€Π½Π°Π» сСрвСра. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ -d 0 для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сСанса, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π² Π΅Π³ΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ… влияниС выставлСнного для postgres значСния.

-D datadir

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π·Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π—Π° подробностями ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π Π°Π·Π΄Π΅Π»Ρƒ 19.2.

-e

УстанавливаСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Β«EuropeanΒ» с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ DMY. Π’Π°ΠΊΠΆΠ΅ влияСт Π½Π° Π²Ρ‹Π²ΠΎΠ΄ дня, ΠΈΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ мСсяца, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ см. Π Π°Π·Π΄Π΅Π» 8.5.

-F

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Ρ‹ fsync для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ рисков ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² случаС ΠΊΡ€Π°Ρ…Π° систСмы. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ fsync. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°!

-h ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ IP-адрСс ΠΈΠ»ΠΈ имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сСрвСр postgres ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ клиСнтскиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ TCP/IP. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ список адрСсов, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… запятыми, Π»ΠΈΠ±ΠΎ символ *, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ всС доступныС интСрфСйсы. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ, Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Unix-сокСты. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ localhost. Π€Π»Π°Π³ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ listen_addresses.

-i

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ TCP/IP. Π‘Π΅Π· этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ лишь Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ДСйствиС этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ listen_addresses со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ * Π² postgresql.conf ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π° -h.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ устарСл, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ listen_addresses. Π›ΡƒΡ‡ΡˆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ listen_addresses Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

-k ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Unix-сокСта, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ postgres Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ список ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Если это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пустоС, использованиС Unix-сокСтов запрСщаСтся, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ TCP/IP. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выбираСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /tmp, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° этапС компиляции. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ дСйствуСт Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ unix_socket_directories.

-l

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ бСзопасных соСдинСний с использованиСм SSL ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Postgres Pro Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ SSL для использования этого Ρ„Π»Π°Π³Π°. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ использованиС SSL описано Π² Π Π°Π·Π΄Π΅Π» 18.9.

-N максимальноС количСство соСдинСний

УстанавливаСт максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… клиСнтских соСдинСний. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся автоматичСски Π½Π° этапС развёртывания с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ initdb. Π€Π»Π°Π³ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ max_connections.

-p ΠΏΠΎΡ€Ρ‚

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ TCP/IP ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° локального Unix-сокСта, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ postgres ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PGPORT, ΠΈΠ»ΠΈ, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ PGPORT Π½Π΅ установлСно, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, установлСнноС Π½Π° этапС компиляции (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это 5432). Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° мСняСтся, Ρ‚ΠΎ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, установив, Π»ΠΈΠ±ΠΎ PGPORT, Π»ΠΈΠ±ΠΎ Ρ„Π»Π°Π³ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

-s

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ статистику послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΎ врСмя настройки количСства Π±ΡƒΡ„Π΅Ρ€ΠΎΠ².

-S рабочая-ΠΏΠ°ΠΌΡΡ‚ΡŒ

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для сортировок ΠΈ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΡ‚ΡŒ ΠΊ использованию Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° дискС. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ описанию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° work_mem, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌΡƒ Π² ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅ 19.4.1.

-V
--version

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ postgres ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ дальнСйшСС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

--имя=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

УстанавливаСт Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. ЯвляСтся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠ»ΡŽΡ‡Π° -c.

--describe-config

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ значСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… сСрвСра, ΠΈΡ… описаний ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ COPY со Π·Π½Π°ΠΊΠΎΠΌ табуляции Π² качСствС раздСлитСля. Π’ основном это ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для срСдств администрирования.

-?
--help

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ postgres.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ использования

Π”Π°Π»Π΅Π΅ описанныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π² основном, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² цСлях ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΡ€ΠΈ восстановлСнии сильно ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… описаниС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ для систСмных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Postgres Pro, поэтому ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π±Π΅Π· увСдомлСния.

-f { s | i | o | b | t | n | m | h }

Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ использованиС спСцифичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сканирования ΠΈ объСдинСния: s ΠΈ i Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сканированиС ΠΈ ΠΏΠΎ индСксу соотвСтствСнно, Π° o, b ΠΈ t Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сканированиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ индСксу, сканированиС ΠΏΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌ, ΠΈ сканированиС ΠΏΠΎ ID ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ соотвСтствСнно, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ n, m ΠΈ h Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹, слияния ΠΈ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ соотвСтствСнно.

Ни ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сканированиС, Π½ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π€Π»Π°Π³ΠΈ -fs ΠΈ -fn просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ выполнСния этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ².

-n

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ сСрвСра Π² случаС аномального Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса. ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² Ρ‚Π°ΠΊΠΎΠΌ случаС β€” Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… процСссов с дальнСйшСй ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ раздСляСмой памяти ΠΈ сСмафоров. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ потСрянный процСсс ΠΌΠΎΠ³ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ раздСляСмой памяти. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ postgres Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‰ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ позволяСт произвСсти Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния памяти ΠΈ сСмафоров.

-O

Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру систСмных Ρ‚Π°Π±Π»ΠΈΡ†. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ initdb.

-P

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмныС индСксы ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ измСнСниях систСмных Ρ‚Π°Π±Π»ΠΈΡ†. Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΡ… восстановлСнии послС поврСТдСния.

-t pa[rser] | pl[anner] | e[xecutor]

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ статистику ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса Π² контСкстС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ систСмного модуля. ИспользованиС Ρ„Π»Π°Π³Π° совмСстно с -s Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

-T

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ сСрвСра Π² случаС аномального Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса. ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² Ρ‚Π°ΠΊΠΎΠΌ случаС β€” Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… процСссов с дальнСйшСй ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ раздСляСмой памяти ΠΈ сСмафоров. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ потСрянный процСсс ΠΌΠΎΠ³ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ раздСляСмой памяти. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ postgres Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ остановки ΠΏΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… процСссов сигналом SIGSTOP, Π½ΠΎ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ ΠΈΡ…, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ снимки памяти процСссов.

-v ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСанса Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° взаимодСйствия сСрвСра с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Π€Π»Π°Π³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ лишь для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ.

-W сСкунды

ΠŸΡ€ΠΈ стартС сСрвСра производится Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство сСкунд, послС Ρ‡Π΅Π³ΠΎ производится ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΊ процСссу.

-Z

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, совмСстим Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ исполняСмый Ρ„Π°ΠΉΠ» postgres с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ кластСром. Если Ρ‚ΠΈΠΏ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ компиляции, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ кластСра, Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ 1 ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ сообщСниС ΠΎΠ± ошибкС, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΊΠΎΠ΄ΠΎΠΌ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΏΡ€ΠΈ этом Π½Π΅ запуская кластСр.

Для провСдСния этой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ кластСра.

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли кластСр ΠΈ исполняСмый Ρ„Π°ΠΉΠ» postgres рассчитаны Π½Π° ΠΎΠ΄Π½Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ процСссора ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ порядок Π±Π°ΠΉΡ‚ΠΎΠ².

Подсказка

Π’ случаС выявлСния нСсовмСстимости запуститС pgpro_controldata с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ -P ΠΈΠ»ΠΈ -C, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° (см. Ρ€Π°Π·Π΄Π΅Π» ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½ΠΈΠΆΠ΅).

--single

УстанавливаСт ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

Π±Π°Π·Π°_Π΄Π°Π½Π½Ρ‹Ρ…

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ производится ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ послСдним Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ систСмного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

-E

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² устройство стандартного Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ….

-j

Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ окончания Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой с двумя ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°ΠΌΠΈ строки, Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки.

-r имя_Ρ„Π°ΠΉΠ»Π°

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΆΡƒΡ€Π½Π°Π»Π° сСрвСра Π² Ρ„Π°ΠΉΠ» filename. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ примСняСтся лишь ΠΏΡ€ΠΈ запускС ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния

PGCLIENTENCODING

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ сСрвСра.

PGDATA

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ размСщСния Π΄Π°Π½Π½Ρ‹Ρ… кластСра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

PGDATESTYLE

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния DateStyle. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ являСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ.

PGPORT

ΠŸΠΎΡ€Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

Диагностика

Ошибки с ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ ΠΎ semget ΠΈΠ»ΠΈ shmget говорят ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ нСобходимости провСдСния Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ конфигурирования ядра. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ это обсуТдаСтся Π² Π Π°Π·Π΄Π΅Π»Π΅ 18.4. ΠžΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ² shared_buffers для сниТСния ΠΎΠ±Ρ‰Π΅Π³ΠΎ потрСблСния раздСляСмой памяти Postgres Pro ΠΈ/ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ² max_connections для сниТСния Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° использованиС сСмафоров.

НСобходимо Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сообщСния ΠΎΠ± ошибкС с ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ экзСмплярС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

$ ps ax | grep postgres

ΠΈΠ»ΠΈ

$ ps -ef | grep postgres

Π² зависимости ΠΎΡ‚ ОБ. Если Π΅ΡΡ‚ΡŒ полная ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠΉ Π½Π΅Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ упомянутый Π² сообщСнии Π·Π°ΠΏΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ.

Π£ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ нСвозмоТности привязки ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ Π² сообщСниях ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом ΠΏΠΎΠΌΠΈΠΌΠΎ Postgres Pro. Π’Π°ΠΊΠΆΠ΅ сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΌ рСстартС postgres Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡ€Ρ‚Ρƒ. Π’ этом случаС Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ОБ Π½Π΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚, ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ. Π•Ρ‰Ρ‘ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ситуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ систСмный ΠΏΠΎΡ€Ρ‚. НапримСр, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ОБ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΡŽΡ‚ Β«Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Β» ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΎΡ‚ 1024 ΠΈ Π½ΠΈΠΆΠ΅, ΠΈ лишь ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊ Π½ΠΈΠΌ доступ.

ЗамСчания

Для ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠ³ΠΎ запуска ΠΈ остановки сСрвСра ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ pg_ctl.

Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сигнал SIGKILL для Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ процСсса postgres. Π’ этом случаС postgres Π½Π΅ освободит систСмныС рСсурсы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ сСмафоры. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запускС postgres.

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ postgres ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сигналы SIGTERM, SIGINT ΠΈΠ»ΠΈ SIGQUIT. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒΡΡ всС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ процСссы Π΄ΠΎ ΠΈΡ… Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ соСдинСний, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ β€” ΠΊ Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ Π±Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, приводящСму ΠΊ нСобходимости выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ восстановлСния Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ стартС.

ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ сигнал SIGHUP, сСрвСр ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ свои Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ SIGHUP ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ процСссу, Π½ΠΎ это Ρ‡Π°Ρ‰Π΅ всСго бСссмыслСнно.

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎΡΡ запроса, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ SIGINT ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒ Π΅Π³ΠΎ процСссу. Для чистого Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСрвСрного процСсса ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅ΠΌΡƒ SIGTERM. Π’Π°ΠΊΠΆΠ΅ см. pg_cancel_backend ΠΈ pg_terminate_backend Π² ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅ 9.27.2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ SQL-инструкций.

Π‘Π΅Ρ€Π²Π΅Ρ€ postgres ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ SIGQUIT для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов Π² Π³Ρ€ΡΠ·Π½ΡƒΡŽ, ΠΈ сигнал Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ стоит ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ SIGKILL сСрвСрному процСссу β€” Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ postgres процСсс расцСнит это ΠΊΠ°ΠΊ Π°Π²Π°Ρ€ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π±Ρ‹ сдСлано ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ восстановлСния послС сбоя.

Ошибки

Π€Π»Π°Π³ΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с -- Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ОБ FreeBSD ΠΈΠ»ΠΈ OpenBSD. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ -c. Π­Ρ‚ΠΎ ошибка ОБ. Π’ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… Postgres Pro Π±ΡƒΠ΄Π΅Ρ‚ прСдоставлСн ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, Ссли ошибка Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ устранСна.

ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ

Для запуска сСрвСра Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄Π°

postgres --single -D /usr/local/pgsql/data Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ my_database

НСобходимо ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ -D, ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PGDATA. Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ сСрвСр воспринимаСт ΠΊΠ°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹; Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ для Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ значСния, ΠΊΠ°ΠΊ для psql. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ нСсколько строк, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΠΊΡ€ΠΎΠΌΠ΅ послСднСй, ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ косая Ρ‡Π΅Ρ€Ρ‚Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½Π΅ΠΉ символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки автоматичСски ΡƒΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΈΠ· Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ это происходит Π΄Π°ΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ строковой константы ΠΈΠ»ΠΈ коммСнтария.

Но Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки -j, ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹; это Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Β«Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки». Π’ΠΎ Π΅ΡΡ‚ΡŒ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ввСсти Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой, ΠΈ сразу Π·Π° Π½Π΅ΠΉ ΠΏΡƒΡΡ‚ΡƒΡŽ строку. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, дополнСнная ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ строки, Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния. Π’Π½ΡƒΡ‚Ρ€ΠΈ строковых констант ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² такая Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ воспринимаСтся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ»ΡŽΡ‡Π΅.

Π’Π½Π΅ зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Π²ΠΎΠ΄Π°, символ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой, Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½Π΅ прямо ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ»ΠΈ Π² составС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, воспринимаСтся ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄. ПослС Π²Π²ΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ с раздСлитСлями нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСанса Π²Π²Π΅Π΄ΠΈΡ‚Π΅ символ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° (EOF, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это сочСтаниС Control+D). Если Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ тСкст послС окончания Π²Π²ΠΎΠ΄Π° послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, символ EOF Π±ΡƒΠ΄Π΅Ρ‚ воспринят ΠΊΠ°ΠΊ символ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈ для Π²Ρ‹Ρ…ΠΎΠ΄Π° потрСбуСтся Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ EOF.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½Π΅ прСдоставляСт особых возмоТностСй для рСдактирования ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Ρ‚ истории ΠΊΠΎΠΌΠ°Π½Π΄). Π’Π°ΠΊΠΆΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ производятся Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ автоматичСскиС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ рСпликация.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Для запуска postgres Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

$ nohup postgres >logfile 2>&1 </dev/null &

Для запуска postgres с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1234:

$ postgres -p 1234

Для соСдинСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ psql ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ этот ΠΏΠΎΡ€Ρ‚ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ -p:

$ psql -p 1234

ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PGPORT:

$ export PGPORT=1234
$ psql

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… способом:

$ postgres -c work_mem=1234
$ postgres --work-mem=1234

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² пСрСопрСдСляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ work_mem ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ postgresql. conf. Π‘ΠΈΠΌΠ²ΠΎΠ» подчёркивания Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΡ€Π΅. Π—Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ (Π½Π΅ считая ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… экспСримСнтов) Π»ΡƒΡ‡ΡˆΠ΅ Π² postgresql.conf, Π° Π½Π΅ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

initdb, pg_ctl

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER DATABASE SET SINGLE_USER Π² SQL Server

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ инструкции ALTER DATABASE SET SINGLE_USER. Π˜Π—ΠœΠ•ΠΠ˜Π’Π¬
DATABASE SET SINGLE_USER ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ. Когда какая-Π»ΠΈΠ±ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… находится Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅,
Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ.

Когда Π²Ρ‹ пСрСзаписываСтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° SINGLE_USER, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ смогут ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Когда Π²Ρ‹ запускаСтС ALTER
DATABASE SET SINGLE_USER Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ всС Π΅Ρ‰Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

  1. Π‘ ΠΠ•ΠœΠ•Π”Π›Π•ΠΠΠ«Πœ ОВКАВОМ: Π­Ρ‚Π° опция отмСняСт всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π­Ρ‚Π° опция Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Когда Π²Ρ‹ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ всС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
  2. Π‘Π•Π— ΠžΠ–Π˜Π”ΠΠΠ˜Π―: Π­Ρ‚Π° опция Π½Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Он ΠΆΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя, ΠΈ Ссли транзакция Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER DATABASE Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ считаСтся самым чистым ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ измСнСния Ρ€Π΅ΠΆΠΈΠΌΠ° доступа, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ALTER DATABASE SET SINGLE_USER трСбуСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ALTER DATABASE.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для SINGLE_USER

ΠœΡ‹ мСняСм Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ любой ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

  1. ИзмСнСниС свойства Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL Server Management Studio (SSMS)
  2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ T-SQL ALTER DATABASE

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойство Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL Server Management Studio (SSMS)

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSMS, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ SQL Server Management Studio ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ядру Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ AdventureWorks2017 .

Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ свойств Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Options . Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Β«ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ» ΠΈ
Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠžΠ”Π˜Π_ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π¬. НаТмитС OK, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ° доступа . НаТмитС OK, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ соСдинСния ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа.

Π Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… AdventureWorks2017 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° SINGLE_USER . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ
(Single-User) указываСтся с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² студии управлСния SQL Server.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ T-SQL ALTER DATABASE

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER DATABASE SET SINGLE_USER, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° SINGLE_USER.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ AdventureWorks2017. ΠŸΠ΅Ρ€Π΅Π΄ смСной Ρ€Π΅ΠΆΠΈΠΌΠ° доступа ΠΊ Π‘Π” ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ
ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния. Для этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условиС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ROLLBACK IMMEDIATE .
Команда ALTER DATABASE Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ записана ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ master

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… [AdventureWorks2017] ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ single_user с Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠΌ

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС Π½ΠΈΠΆΠ΅.

НСквалифицированныС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ. РасчСтноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Ρ‚Π°: 0%.

НСквалифицированныС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ. РасчСтноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Ρ‚Π°: 100%.

Π Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… AdventureWorks2017 Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠžΠ”Π˜Π ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π¬ . Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ master

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ имя, user_access_desc ΠΈΠ· sys.databases, Π³Π΄Π΅ name=’AdventureWorks2017β€²

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС инструкции ALTER DATABASE SET SINGLE_USER .

  1. ΠžΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…
  2. Π’ΠžΠ‘Π‘Π’ΠΠΠžΠ’Π˜Π’Π¬ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…

Когда ΠΌΡ‹ отсоСдиняСм Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния. ΠŸΠ΅Ρ€Π΅Π΄ отсоСдинСниСм Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² производствСнной срСдС администраторы Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ элСктронноС письмо, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎ нСобходимости ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ прилоТСния. Иногда ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒ прилоТСния ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прилоТСния. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΊΠΎΠΌΠ°Π½Π΄Π° отсоСдинСния Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этом случаС ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ соСдинСниС ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа SINGLE_USER для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Для этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WITH ROLLBACK IMMEDIATE , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ соСдинСния. Команда ALTER DATABASE записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ master

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… [AdventureWorks2017] ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ single_user с Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠΌ

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния ΠΈ установит Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠžΠ”Π˜Π ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π¬ . ЗапуститС
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мастСр

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

exec sp_detach_db [AdventureWorks2017]

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.

Π’ΠžΠ‘Π‘Π’ΠΠΠžΠ’Π›Π•ΠΠ˜Π• Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Нам, ΠΊΠ°ΠΊ администраторам Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ тСстирования. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ процСсс Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° отсоСдинСния ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ восстановлСния Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΌ Π΅Π΅ пСрСзаписи. ΠŸΡ€ΠΈ пСрСзаписи
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ошибкой: Для дСмонстрации я ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽ AdventureWorks2017
Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я сдСлал. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

USE [master]

go

RESTORE DATABASE [AdventureWorks2017] FROM DISK = N’C:\MS_SQL\Backup\adv2017. bak’ WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5 90 003

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ошибкой:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ 3101, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 16, состояниС 1, строка 3

Π­ΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΉ доступ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ 3013, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 16, состояниС 1, строка 3

RESTORE DATABASE Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… AdventureWorks2017 ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ
Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SINGLE_USER . Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ запрос.

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ master

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… [AdventureWorks2017] ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ single_user с Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠΌ

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SINGLE_USER , ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

USE [master]

go

RESTORE DATABASE [AdventureWorks2017] FROM DISK = N’C:\MS_SQL\Backup\adv2017. bak’ WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5 9 0003

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ рСзСрвная копия ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ восстановлСна, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос.

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мастСр

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ

Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ имя, user_access_desc ΠΈΠ· sys.databases, Π³Π΄Π΅ имя = β€˜AdventureWorks2017’

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ восстановлСна.

  • ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€Π΅Π΄ восстановлСниСм Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ соСдинСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния
    Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • РСзюмС

    Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ALTER DATABASE SET SINGLE_USER . ΠœΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π΅Π³ΠΎ выполнСния. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я продСмонстрировал Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы установки Ρ€Π΅ΠΆΠΈΠΌΠ° доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SINGLE_USER ΠΈ условия Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

    • Автор
    • ПослСдниС сообщСния

    Нисарг Π£ΠΏΠ°Π΄Ρ…ΡŒΡΠΉ

    Нисарг Π£ΠΏΠ°Π΄Ρ…ΡŒΡΠΉ β€” администратор Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server ΠΈ сСртифицированный спСциалист Microsoft, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ 8 Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° администрирования SQL Server ΠΈ 2 Π³ΠΎΠ΄Π° администрирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle 10g.

    Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚ проСктирования Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, настройки ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ восстановлСния, настройки высокой доступности ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ восстановлСния, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Он ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π±Π°ΠΊΠ°Π»Π°Π²Ρ€Π° тСхничСских Π½Π°ΡƒΠΊ Π² УнивСрситСтС Π“Π°Π½ΠΏΠ°Ρ‚. Π‘ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ ΠΏΠΎ адрСсу nisargupadhyay87@outlook.com

    ПослСдниС сообщСния Нисарга Π£ΠΏΠ°Π΄Ρ…ΡŒΡΡ (см. всС)

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…

Администраторы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SQL Server Enterprise Manager для SQL Server 2000, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ.
Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ SQL Server Management Studio ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для SQL Server 2005 для измСнСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ sql, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: ALTER DATABASE ΠΈ sp_dboption .

ALTER DATABASE [Works] SET MULTI_USER WITH NO_WAIT

ALTER DATABASE [Works] SET SINGLE_USER WITH NO_WAIT

ΠΈΠ»ΠΈ

EXEC sp_dboption β€˜Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚β€™, β€˜ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒβ€™, β€˜Π»ΠΎΠΆΡŒβ€™

EXEC sp_dboption β€˜Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚β€™, β€˜ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒβ€™, β€˜ΠΈΡΡ‚ΠΈΠ½Π°β€™

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ Ρ€Π΅ΠΆΠΈΠΌΡƒ, сначала ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Microsoft SQL Server Management Studio ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ экзСмпляру SQL Server.
ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ список доступных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… связанному экзСмпляру, Π² ΠΎΠΊΠ½Π΅ обозрСватСля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server, Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Бвойства» Π² контСкстном мСню.

Когда Π²Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ мСню свойств, для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… отобраТаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ экран «Бвойства Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β».
Π― использовал Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Works для ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ страницу Β«ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Β» ΠΈΠ· списка Π² Π»Π΅Π²ΠΎΠΉ части экрана.
Если Π²Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² состояния, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа» с трСмя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, пСрСчислСнными Π² ΠΏΠΎΠ»Π΅ со списком.

Π Π΅ΠΆΠΈΠΌΡ‹ ограничСния доступа: ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅, ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ .

Если Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ OK, Π²Ρ‹ смоТСтС Π»ΠΈΠ±ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π²Π°ΠΌ Π½Π΅ удастся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΈΠ·-Π·Π° наличия Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… соСдинСний с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Works.
Π‘Ρ€Π΅Π΄Π° Management Studio IDE ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ процСсса измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, SQL Server Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ соСдинСния?

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ alter Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Works Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΎΠΊΠ½Π΅ Object Explorer.

Если сущСствуСт Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ соСдинСниС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ Management Studio, ΠΈ Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Works Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL Server Management Studio, появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС:

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Works нСдоступна. (ObjectExplorer)

Если Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Works, появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Works ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. (Microsoft SQL Server, ошибка: 924)

ПослС измСнСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ снова ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sql.

ALTER DATABASE [Works] SET MULTI_USER WITH NO_WAIT

Но Ссли эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈΠ· соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ являСтся СдинствСнным Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ соСдинСниСм с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ сообщСниСм:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ 5064, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 16, состояниС 1, строка 1
Π’ настоящСС врСмя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Β«Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β».
Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… находится Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊ Π½Π΅ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ 5069, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 16, состояниС 1, строка 1
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER DATABASE Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½.

 

Π’ случаС, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β« Kill @spid Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС соСдинСния.

Для получСния списка ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ spid ΠΈΠ· master..sysprocesses, Π³Π΄Π΅ dbid = db_id(β€˜Works’) ΠΈ spid <> @@spid

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… соСдинСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Kill.
Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, запустив ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ уничтоТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ курсора ΠΈΠ»ΠΈ создав Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sql, которая ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… соСдинСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курсора T-SQL:


DECLARE @DatabaseName nvarchar(50)
DECLARE @SPId int

SET @DatabaseName = N'Works'

DECLARE my_cursor CURSOR FAST_FORWARD FOR
SELECT SPId FROM MASTER..SysProcesses WHERE DBId = DB_ID(@DatabaseName ) AND SPId <> @@SPId

OPEN my_cursor

FETCH NEXT FROM my_cursor INTO @SPId

WHILE @@FETCH_STATUS = 0
BEGIN
KILL @SPId

FETCH NEXT FROM my_cursor INTO @SPId
END

CLOSE my_cursor
DEALLOCATE my_cursor

ПослС закрытия всСх соСдинСний, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса (@@spid)
Ссли ΠΌΡ‹ пытаСмся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ находимся ΠΈΠ·
ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ALTER DATABASE
для ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.

ALTER DATABASE [Works] SET MULTI_USER WITH NO_WAIT

ΠΈΠ»ΠΈ

ALTER DATABASE [Works] SET SINGLE_USER WITH NO_WAIT

 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ sp_dboption ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ sql для измСнСния
Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.