Настройка прав доступа в 1с 8

Права доступа

1С предоставляет возможность разграничения прав доступа пользователей. Права доступа настраиваются в объекте метаданных — Роль:

Если в окне редактирования роли выделить корневой узел конфигурации, то справа будет доступен список общих для всей конфигурации прав доступа:

Рассмотрим основные из них:

  • Администрирование и Администрирование данных — позволяют выполнять административные действия в конфигураторе: добавлять и удалять пользователей, настраивать права доступа пользователей, просматривать список активных пользователей, изменять конфигурацию, обновлять конфигурацию базы данных, выгружать и загружать базу данных в файл/из файла, просматривать журнал регистрации и прочие административные действия.
  • Обновление конфигурации базы данных — позволяет выполнить обновление конфигурации базы данных.
  • Активные пользователи — позволяет просматривать список активных пользователей.
  • Журнал регистрации — позволяет просматривать журнал регистрации.
  • Тонкий клиент, Веб-клиент, Мобильный клиент, Толстый клиент — право на запуск определенного вида клиента. Если нет хотя бы одного из этих прав, то пользователь не сможет войти в базу и получит ошибку «Нет прав на запуск требуемого вида клиента».
  • Режим технического специалиста — позволяет использовать функции для технического специалиста в пользовательском режиме.
  • Сохранение данных пользователя — позволяет сохранять различные настройки пользователя между сеансами работы, например размеры и положение окон, форм и т.п.
  • Интерактивное открытие внешних обработок, Интерактивное открытие внешних отчетов — позволяет в пользовательском режиме открывать внешние обработки и внешние отчеты через меню Файл — Открыть.
  • Вывод — позволяет распечатать на принтере данные в пользовательском режиме.

Права на прикладные объекты можно поделить на два типа:

  1. Основные — проверка таких прав выполняется как при программном обращении к объектам, так и при интерактивном. Примеры таких прав:
  • Чтение
  • Добавление
  • Изменение
  • Удаление
  • Проведение
  • Отмена проведения
  1. Интерактивные — проверка таких прав выполняется при интерактивном обращении к объекту: просмотр в форме, редактирование в форме и т.д. Примеры таких прав:
  • Просмотр
  • Интерактивное добавление
  • Редактирование
  • Интерактивное удаление
  • Интерактивное проведение
  • Ввод по строке

Например, если для роли указать только четыре права на справочник:

  • Чтение
  • Добавление
  • Изменение
  • Удаление

То в интерфейсе пользователю с данной ролью справочник будет не доступен, но программно он сможет добавлять новые элементы, изменять существующие, удалять и читать уже имеющиеся.

Если добавить право на просмотр:

То справочник будет доступен, но только для просмотра:

Право редактирование позволит изменять существующие элементы, но в форме списка не будет кнопки добавления нового элемента:

Если добавить право Интерактивное добавление, то появится кнопка для создания нового элемента:

У справочника можно отдельно настроить права для предопределенных элементов:

  • Интерактивное удаление предопределенных
  • Интерактивная пометка на удаление предопределенных
  • Интерактивная снятие пометки на удаления предопределенных
  • Интерактивное удаление помеченных предопределенных

Если у роли включить право на просмотр, то автоматически устанавливается право на чтение, потому что просмотр без чтения не возможен. Если включить право на редактирование, то автоматически включится право на изменение. Верно и обратное: если снять право на изменение, то автоматически выключится право на редактирование.

У каждого объекта можно отдельно настраивать права на подчиненные объекты:

  • Реквизиты
  • Табличные части
  • Реквизиты табличных частей
  • Стандартные реквизиты
  • Команды

Например, можно дать все права на документ, а для табличной части дать права только на просмотр:

В этом случае можно будет редактировать стандартные реквизиты документа, но табличная часть будет доступна только для просмотра:

Также стоит отметить, что если у пользователя есть права доступа на документ, но нет прав на справочник, значения которого используются в документе, то вместо значения справочников будет надпись «Объект не найден», как на картинке выше в реквизите Вид расчета.

Как доработать производительный RLS

Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом.
В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.

Параметры chmod

-c, –changes Подобно –verbose, но выдает подробный вывод только тогда, когда изменение действительно сделано.

-f, –silent, –quiet Бесшумный режим; подавлять большинство сообщений об ошибках.

-v, –verbose Подробный режим; вывести диагностическое сообщение для каждого обработанного файла.

–no-preserve-root Не обрабатывать ‘/’ (корневой каталог) каким-либо особым образом, который является настройкой по умолчанию.

–preserve-root Не работать рекурсивно на «/».

–reference=RFILE Установить разрешения, соответствующие разрешениям файла RFILE, игнорируя любой указанный РЕЖИМ.

-R, –recursive Менять файлы и каталоги рекурсивно.

–help Показать справочное сообщение и выйти.

–version Вывести информацию о версии и выйти.

Примеры использования chmod

Я не буду приводить много примеров, так как там и так все более-менее понятно после пояснения правил создания выражений установки прав. Сначала самый частый случай – разрешить выполнения скрипта владельцу:

chmod u+x file

Или можно воспользоваться цифровой записью:

chmod 766 filels – l file

Недостаток цифровой записи в том, что вы не можете модифицировать уже существующие права доступа linux. Например, в первом варианте вы просто добавили флаг выполнения для владельца файла, а все остальные права оставили неизменными. В восьмеричном варианте мы полностью заменили текущие права новыми – все для владельца и чтение/запись для группы и остальных. Как видите, права установлены как и ожидалось. Теперь отключим выполнение владельцем:

chmod u-x file

И снова проверяем:

ls -l file

Дальше разрешим только чтение всем, кроме владельца:

chmod 744 filels -l file

Или отберем все права:

chmod ugo-rwx file

Файлы с правами 000 недоступны никаким пользователям, кроме суперпользователя и владельца. Вернем права обратно:

chmod 755 filels -l file

Такая же ситуация с файлами, владельцем которых вы не являетесь, если вы хотите изменить их права – используйте sudo. Из модификаторов прав вы можете конструировать любые последовательности, я думаю тут нет смысла разбирать их все. Для того чтобы поменять права на все файлы в папке используйте опцию -R:

chmod -R ug+rw dirls -l dir/

Также вы можете смотреть подробную информацию про вносимые изменения, например:

chmod -Rv ug+rw dir

Disk Revival

Программа Disk Revival позиционируется автором как инструмент для блокировки «почти» битых и/или медленных секторов жесткого диска. Т.е., по сути, утилита не восстанавливает бед-блоки, а «консервирует» их. Сразу отметим, что утилита не справляется с физическими неисправностями секторов, потому выше и было использовано выражение «почти битые» блоки. Тем не менее, подобные секторы зачастую помечаются (той же Victoria, например) как битые. И именно с такими — «не совсем» битыми — блоками и работает Disk Revival.

В целом процесс исправления программой медленных секторов можно считать восстановлением жесткого диска, т.к. имеющиеся на нем неисправные участки более не будут использоваться, а, значит, и исчезнут все связанные с наличием таких блоков проблемы.

Пользоваться программой Disk Revival достаточно просто:

  • В меню «Диски» выбираем сканируемый раздел диска.
  • Нажимаем на кнопку «Старт».
  • Ожидаем окончания процедуры.

Утилита Disk Revival обнаружит все медленные сектора на диске и заполнит их произвольными данными. Другими словами, бэд-блоки блокируются на уровне файловой системы.

Плюсы программы Disk Revival:

  • Простота эксплуатации, русскоязычный интерфейс со встроенной инструкцией и пояснениями по использованию программы.
  • Возможность ускорения работы винчестера за счет блокировки медленных секторов.
  • По заявлению разработчика, Disk Revival может справляться с ситуациями, с которыми часто не может справиться даже Victoria.

Программная работа с ролями и правами доступа

Для программной работы с ролями пользователя нужно обратиться к свойству Роли пользователя информационной базы:

ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
//перебрать доступные роли пользователя
Для Каждого Роль Из ТекПользователь.Роли Цикл
Сообщить(Роль.Имя);
КонецЦикла;

//добавить новую роль
ТекПользователь.Роли.Добавить(Метаданные.Роли.Роль1);
ТекПользователь.Записать();

//удалить роль
Если ТекПользователь.Роли.Содержит(Метаданные.Роли.Роль1) Тогда
ТекПользователь.Роли.Удалить(Метаданные.Роли.Роль1);
КонецЕсли;
ТекПользователь.Записать();

//удалить все роли пользователя
ТекПользователь.Роли.Очистить();
ТекПользователь.Записать();

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

ТекПользователь= ПользователиИнформационнойБазы.ТекущийПользователь();

//перебрать доступные роли пользователя

Для Каждого РольИз ТекПользователь.РолиЦикл

Сообщить(Роль.Имя);

КонецЦикла;

 
//добавить новую роль
ТекПользователь.Роли.Добавить(Метаданные.Роли.Роль1);

ТекПользователь.Записать();

 
//удалить роль

Если ТекПользователь.Роли.Содержит(Метаданные.Роли.Роль1)Тогда

ТекПользователь.Роли.Удалить(Метаданные.Роли.Роль1);

КонецЕсли;

ТекПользователь.Записать();

 
//удалить все роли пользователя
ТекПользователь.Роли.Очистить();

ТекПользователь.Записать();

После изменения состава ролей пользователю нужно перезайти.

Чтобы проверить доступна ли пользователю определенная роль используется метод РольДоступна. Если переданная параметром роль есть у пользователя, то метод вернет Истина, иначе Ложь:

//можно указать имя роли
Если РольДоступна(«ПолныеПрава») Тогда
Сообщить(«У пользователя полные права»);
КонецЕсли;

//можно объект метаданных
Если РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
Сообщить(«У пользователя полные права»);
КонецЕсли;

1
2
3
4
5
6
7
8
9

//можно указать имя роли

Если РольДоступна(«ПолныеПрава»)Тогда

Сообщить(«У пользователя полные права»);

КонецЕсли;
 
//можно объект метаданных

Если РольДоступна(Метаданные.Роли.ПолныеПрава)Тогда

Сообщить(«У пользователя полные права»);

КонецЕсли;

Чтобы проверить определенное право доступа можно воспользоваться методом ПравоДоступа:

СправочникСотрудники = Метаданные.Справочники.Сотрудники;

Если ПравоДоступа(«Добавление», СправочникСотрудники) Тогда
Сообщить(«Текущий пользователь может добавлять сотрудников»);
КонецЕсли;

Если ПравоДоступа(«Чтение», СправочникСотрудники) Тогда
Сообщить(«Текущий пользователь может читать сотрудников»);
КонецЕсли;

ДругойПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(«Сидоров»);
Если ПравоДоступа(«Чтение», СправочникСотрудники, ДругойПользователь) Тогда
Сообщить(«Сидоров может читать сотрудников»);
КонецЕсли;

1
2
3
4
5
6
7
8
9
10
11
12
13
14

СправочникСотрудники= Метаданные.Справочники.Сотрудники;

Если ПравоДоступа(«Добавление»,СправочникСотрудники)Тогда

Сообщить(«Текущий пользователь может добавлять сотрудников»);

КонецЕсли;
 

Если ПравоДоступа(«Чтение»,СправочникСотрудники)Тогда

Сообщить(«Текущий пользователь может читать сотрудников»);

КонецЕсли;
 
ДругойПользователь= ПользователиИнформационнойБазы.НайтиПоИмени(«Сидоров»);

Если ПравоДоступа(«Чтение»,СправочникСотрудники,ДругойПользователь)Тогда

Сообщить(«Сидоров может читать сотрудников»);

КонецЕсли;

Если при выполнении методов РольДоступна или ПравоДоступа был установлен привилегированный режим, то оба метода всегда вернут Истина.

Также проверку прав доступа можно выполнить через метод ВыполнитьПроверкуПравДоступа. Если у текущего пользователя не будет указанных прав, то будет вызвано исключение:

СправочникСотрудники = Метаданные.Справочники.Сотрудники;
Попытка
ВыполнитьПроверкуПравДоступа(«Добавление», СправочникСотрудники);
Сообщить(«Текущий пользователь может добавлять сотрудников»);
Исключение
Сообщить(«Текущий пользователь не может добавлять сотрудников»);
КонецПопытки;

1
2
3
4
5
6
7

СправочникСотрудники= Метаданные.Справочники.Сотрудники;

Попытка

ВыполнитьПроверкуПравДоступа(«Добавление»,СправочникСотрудники);

Сообщить(«Текущий пользователь может добавлять сотрудников»);

Исключение

Сообщить(«Текущий пользователь не может добавлять сотрудников»);

КонецПопытки;

Подписывайтесь на группу , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С

Ограничения и табличные части

Ограничения доступа к данным действуют только на записи таблиц верхнего уровня и не могут ограничивать доступность записей табличных частей. С другой стороны, в тексте ограничения поля табличных частей использоваться могут. В этом случае в процессе проверки ограничения для некоторой записи будет исполнен запрос, в котором табличная часть будет соединена с таблицей из одной проверяемой записи левым внешнем соединением. Таким образом запись будет удовлетворять ограничению, если в ее табличной части найдется хотя бы одна запись, для которой условие в ограничении принимает значение «Истина».

Из соображений эффективности в ограничениях доступа к данным нельзя использовать агрегатные функции. Поэтому возможности участия в ограничениях доступа к данным каких-нибудь условий на совокупности записей табличных частей не предусмотрено

Подобная цель может быть достигнута посредством запросов, вложенных в ограничения, однако пользоваться этим необходимо с осторожностью из-за возможного снижения производительности

Например, если документ «Накладная» содержит табличную часть «Состав», то ограничения доступа к этому документу проверяются при обращении к каждой накладной, как к единому целому и не могут разрешить доступ к какой-нибудь одной записи его табличной части «Состав», а к какой-нибудь другой запретить.

Пусть таблица «Документ.Накладная» содержит следующие записи:

Контрагент(ссылка на Справочник.Контрагенты)

Состав (табличная часть)

Номенклатура

Количество

Пекарня Косолапова Булка с маком 20
Пирожок с курагой 30
Трикотажная фабрика Штаны 20
Футболка 100

В этом случае запрос, исполняемый для каждой накладной в процессе проверки следующего ограничения:

ГДЕ Состав.Количество > 50

будет иметь вид

ВЫБРАТЬ 1ИЗ ТаблицаИзОднойПроверяемойЗаписи КАК НакладнаяЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ Документ.Накладная.Состав КАК СоставПО Накладная.Ссылка = Состав.СсылкаГДЕ Состав.Количество > 50 

Следовательно доступ будет разрешен только для записи «Трикотажная фабрика». Поэтому запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Состав.(Номенклатура, Количество)ИЗ Документ.Накладная

выдаст таблицу:

Контрагент

Состав

Номенклатура

Количество

Трикотажная фабрика Штаны 20
Футболка 100

а запрос к вложенной таблице:

ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Номенклатура, КоличествоИЗ Документ.Накладная.Состав

выдаст таблицу

Контрагент

 Номенклатура

Количество

Трикотажная фабрика Штаны 20
Трикотажная фабрика Футболка 100

поскольку ограничение накладывается только на записи верхнего уровня, но не на записи табличных частей.

Если нужно разрешить доступ еще и к тем накладным, у которых состав пустой, то ограничение может быть модифицировано так:

ГДЕ Состав.Количество > 50 ИЛИ Состав.Количество ЕСТЬ NULL

Если же необходимо разрешить доступ только к тем накладным, у которых в табличной части «Состав» нет записей с «Количеством», превышающем 50, то в ограничении необходимо использовать вложенный запрос:

Накладная1ИЗ Документ.Накладная КАК Накладная1ГДЕ Накладная1.Ссылка В    (        ВЫБРАТЬ Состав1.Ссылка        ИЗ Документ.Накладная.Состав КАК Состав1        СГРУППИРОВАТЬ ПО Состав1.Ссылка        ИМЕЮЩИЕ МАКСИМУМ(Состав1.Количество) <= 50    ) ИЛИ Накладная1.Состав.Количество ЕСТЬ NULL

Команды PostgreSQL (Шпаргалка по PostgreSQL)

Доступ к серверу PostgreSQL через psql с определенным пользователем:

psql -U ;

Например, следующая команда использует пользователя postgres для доступа к серверу базы данных PostgreSQL:

psql -U postgres

Подключение к определенной базе данных:

\c database_name;

Подключение к базе данных dvdrental:

\c dvdrental;
You are now connected to database "dvdrental" as user "postgres".

Чтобы выйти из psql:

\q

Список всех баз данных на сервере PostgreSQL

\l

Список всех схем:

\dn

Список всех хранимых процедур и функций:

\df

Список всех представлений

\dv

Список всех таблиц в текущей базе данных.

\dt

Или для получения дополнительной информации о таблицах в текущей базе данных:

\dt+

Получение подробной информации о таблице.

\d+ table_name

Показывает хранимую процедуру или код функции:

\df+ function_name

Показывает вывод запроса в красивом формате:

\x

Список всех пользователей:

\du

Создает новую роль:

CREATE ROLE role_name;

Создает новую роль с: и :

CREATE ROLE username NOINHERIT LOGIN PASSWORD password;

Изменяет роль для текущей сессии на  :

SET ROLE new_role;

Разрешить    установить свою роль как :

GRANT role_2 TO role_1;

Роли пользователя

После настройки прав доступа для роли ее можно назначить пользователю. Причем можно указать сразу несколько ролей. Состав ролей указывается в карточке пользователя на закладке Прочие:

Если хотя бы у одной роли есть права на объект, то у пользователя будет доступ к этому объекту. То есть сочетание прав разных ролей работает по условию «ИЛИ». Если ни в одной роли нет прав на объект, то у пользователя не будет доступа к этому объекту.

При создании новой роли автоматические устанавливаются следующие права на конфигурацию:

  • Тонкий клиент
  • Веб-клиент
  • Мобильный клиент
  • Все режимы основного окна
  • Клиент системы аналитики
  • Сохранение данных пользователя
  • Вывод

А также для всех существующих объектов метаданных устанавливаются права на подчиненные объекты:

  • Реквизиты
  • Табличные части
  • Стандартные реквизиты
  • Команды

При этом на сами объекты метаданных права сняты.

В результате достаточно дать права на объект, а права на подчиненные объекты уже установлены. При необходимости их можно снять.

Если для роли установлен флаг Устанавливать права для реквизитов и табличных частей по умолчанию, то при добавлении в конфигурацию нового объекта у роли автоматически будут проставлены права для его подчиненных объектов:

Если данный флаг снят, то при добавлении нового объекта в конфигурацию для его подчиненных объектов не будут установлены права. В этом случае при добавлении прав на этот объект, нужно не забыть дать права и на его подчиненные объекты.

Флаг Независимые права подчиненных объектов позволяет складывать права на объекты с правами подчиненных объектов из разных ролей.

Например, в одной роли настроены права на справочник, но нет прав на подчиненные объекты справочника (реквизиты, табличные части и т.п.). А в другой роли нет прав на справочник но зато есть права на подчиненные объекты справочника.

Если флаг Независимые права подчиненных объектов снят, то у пользователя с двумя этими ролями не будет прав на подчиненные объекты справочника. Права из второй роли не применились, потому что нет прав на справочник.

Если установить данный флаг в настройках второй роли, где заданы права на подчиненные объекты, то у пользователя будут права как на справочник, так и на подчиненные объекты. Права из второй роли на подчиненные объекты считаются независимыми и были сложены с правами из первой роли.

Если щелкнуть правой кнопкой по корню конфигурации или по узлу дерева Роли, то можно выбрать пункт меню Все роли:

В результате будет открыто окно, где слева представлены все объекты конфигурации, а справа список прав на выделенный объект и наличие права у той или иной роли:

CrystalDiskInfo

С помощью приложения CrystalDiskInfo пользователь может обнаружить все переназначенные сектора. По умолчанию введены пороговые значения, которые лучше не менять. Если количество поврежденных областей превышает допустимое значение, то жесткий диск компьютера неисправен и в любой момент может выйти из строя.

Программа также показывает температуру компьютера, общее время работы винчестера и количество запусков. Рядом с каждым пунктом есть круг, который может иметь один из трех цветов. Синий указывает на отсутствие ошибки, желтый загорается, когда есть предупреждение. Красный (тревога) говорит о том, что с винчестером серьезные проблемы.

Другие настройки 1С

Итак, вы настроили все права доступа в 1С, какие требовалось. Что же еще предлагает система?

Обратите внимание на следующие разделы:

  • «Копирование настроек»;
  • «Очистка настроек».

Их названия говорят сами за себя. Эти настройки относятся к внешнему виду отчетов программы.

Если вы зайдете в раздел «Настройки пользователей», то можете настроить такой внешний вид, какой вам понравится и какой будет более удобным.

Разработчики 1С позаботились о том, чтобы предоставить пользователям широкие возможности для администрирования прав доступа. Инструменты могут показаться непростыми. Но это только сначала. Используйте наши рекомендации и инструкцию, и тогда в вашей компании не возникнет трудностей с настройкой прав доступа пользователей к тем или иным объектам.

Обратите внимание на то, чтобы у вас был действующий договор 1С:ИТС. Только в этом случае вы сможете пользоваться самыми актуальными данными и документами в системе 1С. Позвоните нашим специалистам и узнайте о сроке вашего договора 1С:ИТС.. Как настроить интерфейс в 1С 8.3
Делопроизводство в 1С

Как настроить интерфейс в 1С 8.3
Делопроизводство в 1С

Учетная запись для резервного копирования

Для выполнения резервного копирования лучше всего подключаться к базе с минимальными привилегиями. 

Сначала создаем роль, которую будем использовать для выполнения резервного копирования:

=# CREATE USER bkpuser WITH PASSWORD ‘bkppasswd’;

* мы создадим учетную запись bkpuser с паролем bkppasswd.

Предоставляем права на подключения к базе

=# GRANT CONNECT ON DATABASE database TO bkpuser;

* в данном примере к базе database.

Подключаемся к базе (в нашем примере database):

=# \c database

Даем права на все последовательности в схеме:

=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO bkpuser;

* мы дали права для схемы public. Это схема является схемой по умолчанию, но в вашем случае она может быть другой. В таком случае, подставляем свое значение.

Утилиты (программы) PosgreSQL:

  • createdb и dropdb – создание и удаление базы данных (соответственно)
  • createuser и dropuser – создание и пользователя (соответственно)
  • pg_ctl – программа предназначенная для решения общих задач управления (запуск, останов, настройка параметров и т.д.)
  • postmaster – многопользовательский серверный модуль PostgreSQL (настройка уровней отладки, портов, каталогов данных)
  • initdb – создание новых кластеров PostgreSQL
  • initlocation – программа для создания каталогов для вторичного хранения баз данных
  • vacuumdb – физическое и аналитическое сопровождение БД
  • pg_dump – архивация и восстановление данных
  • pg_dumpall – резервное копирование всего кластера PostgreSQL
  • pg_restore – восстановление БД из архивов (.tar, .tar.gz)

Примеры создания резервных копий:

Создание бекапа базы mydb, в сжатом виде

pg_dump -h localhost -p 5440 -U someuser -F c -b -v -f mydb.backup mydb

Создание бекапа базы mydb, в виде обычного текстового файла, включая команду для создания БД

pg_dump -h localhost -p 5432 -U someuser -C -F p -b -v -f mydb.backup mydb

Создание бекапа базы mydb, в сжатом виде, с таблицами которые содержат в имени payments

pg_dump -h localhost -p 5432 -U someuser -F c -b -v -t *payments* -f payment_tables.backup mydb

Дамп данных только одной, конкретной таблицы. Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц перечисляются с помощью ключа -t для каждой таблицы.

pg_dump -a -t table_name -f file_name database_name

Создание резервной копии с сжатием в gz

pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

Список наиболее часто используемых опций:

  • -h host — хост, если не указан то используется localhost или значение из переменной окружения PGHOST.
  • -p port — порт, если не указан то используется 5432 или значение из переменной окружения PGPORT.
  • -u — пользователь, если не указан то используется текущий пользователь, также значение можно указать в переменной окружения PGUSER.
  • -a, —data-only — дамп только данных, по-умолчанию сохраняются данные и схема.
  • -b — включать в дамп большие объекты (blog’и).
  • -s, —schema-only — дамп только схемы.
  • -C, —create — добавляет команду для создания БД.
  • -c — добавляет команды для удаления (drop) объектов (таблиц, видов и т.д.).
  • -O — не добавлять команды для установки владельца объекта (таблиц, видов и т.д.).
  • -F, —format {c|t|p} — выходной формат дампа, custom, tar, или plain text.
  • -t, —table=TABLE — указываем определенную таблицу для дампа.
  • -v, —verbose — вывод подробной информации.
  • -D, —attribute-inserts — дамп используя команду INSERT с списком имен свойств.

Бекап всех баз данных используя команду pg_dumpall.

pg_dumpall > all.sql

Восстановление таблиц из резервных копий (бэкапов):

psql — восстановление бекапов, которые хранятся в обычном текстовом файле (plain text);
pg_restore — восстановление сжатых бекапов (tar);

Восстановление всего бекапа с игнорированием ошибок

psql -h localhost -U someuser -d dbname -f mydb.sql

Восстановление всего бекапа с остановкой на первой ошибке

psql -h localhost -U someuser —set ON_ERROR_STOP=on -f mydb.sql

Для восстановления из tar-арихива нам понадобиться сначала создать базу с помощью CREATE DATABASE mydb; (если при создании бекапа не была указана опция -C) и восстановить

pg_restore —dbname=mydb —jobs=4 —verbose mydb.backup

Восстановление резервной копии БД, сжатой gz

gunzip mydb.gz
psql -U postgres -d mydb -f mydb

Что такое переназначенные или нестабильные сектора?

Разработчики позаботились о диагностике аппаратной части компьютера. Что касается жесткого диска, проверка на возникновение поломок носит название S.M.A.R.T. С ее помощью система может обнаружить, что сектор дискового пространства перестал отвечать на запросы. Если он стал нечитаемым, то система должна заменить эту часть на резервную, т.е. сделать переназначение сектора на жестком диске.

Проблемная область будет занесена в дефект-лист. Также будет увеличен счетчик Reallocated Sector Count. По его показателям можно проверить состояние работы винчестера в целом. Для этого разработаны специальные приложения, которые считывают данные S.M.A.R.T.

Часто пользователь может столкнуться с таким обозначением, как нестабильные сектора. Это значит, что система не смогла прочитать их с первого раза. Показатель не всегда говорит о том, что диск испорчен. Скорее, это уведомление о том, что в данной области может быть программная ошибка.

Работоспособность устройства не зависит полностью от количества нестабильных секторов. Здесь важным параметром будет, какие именно части повреждены. Также допустимое количество нестабильных секторов может изменяться, все зависит от конкретного производителя и модели, поэтому общую точную цифру сказать невозможно.

Роль Полные права

Как правило в конфигурации создается роль Полные права, которая предоставляет полный доступ к конфигурации. Чтобы установить все права для роли нужно в окне редактирования роли в верхнем меню выбрать Действия — Установить все права:

А также внизу устанавливается флаг Устанавливать права для новых объектов:

Это значит, что при добавлении в конфигурацию новых объектов у данной роли автоматически будут назначаться полные права на него.

Если оставить так, то у пользователя с данной ролью будет возможность выполнить непосредственное удаление элемента справочника или документа:

В этом случае элемент справочника или документ будет удален без проверки ссылочной целостности. И если данный элемент был использован где-то, то на его месте будет надпись «Объект не найден»:

Контроль ссылочной целостности подразумевает удаление объектов в два этапа:

  1. Установка пометки на удаление
  2. Контроль наличия ссылок на помеченный объект в других объектах. Удаление будет выполнено только если нет ссылок на этот объект.

Контроль наличия ссылок и удаление помеченных выполняется через функции для технического специалиста — Стандартные — Удаление помеченных объектов:

Поэтому как правило во всех ролях для прикладных объектов снимаются такие права, как:

  • Интерактивное удаление
  • Интерактивное удаление помеченных
  • Интерактивное удаление предопределенных
  • Интерактивное удаление помеченных предопределенных

Использование HDD Regenerator

Если Victoria показалась сложной, попробуйте выполнить восстановление диска и исправление, так называемых bad blocks с помощью программы HDD Regenerator. Особенность этой утилиты в том, что она обладает доступом к программной и аппаратной части HDD. HDD Regenerator реально пытается вылечить плохие секторы, тогда как большинство программ запрещает доступ к бэд-блокам, в результате чего уменьшается объем винчестера.

  1. Установите и откройте программу. Раскройте меню «Восстановление» и включите процесс обработки под Windows.
  2. Если появится предупреждение о необходимости настроить BIOS, нажмите «Нет».
  3. Выберите жесткий диск, который нуждается в лечении. Программа попытается запуститься в режиме DOS, но не сможет этого сделать, так как не получит права к некоторым разделам HDD.

Чтобы устранить эту проблему, запустите диспетчер задач (Ctrl+Shift+Esc) и закройте все приложения. Перейдите на вкладку «Процессы» и завершите работу всех процессов, запущенных пользователем. Нажмите «Повтор», чтобы программа попробовала получить доступ к разделам диска.

Если окно-предупреждение снова появилось, перезагрузите компьютер и запустите систему в безопасном режиме. Можно проигнорировать предупреждение, нажав не «Повтор», а «Отмена», но тогда HDD Regenerator будет работать с некоторыми ограничениями.

Запустится окно, напоминающее командную строку. В нем вы увидите 4 варианта работы программы:

  1. Проверка и восстановление bad blocks.
  2. Проверка без восстановления, показ информации о сбойных блоках.
  3. Регенерация сбойных секторов на конкретном месте.
  4. Вывод статистики.

Сначала выберите режим работы №2. Жесткий диск будет проверен на предмет наличия бэдов. Появится следующий экран, где предложено указать промежуток, в котором следует искать бэды. Лучше запустить тестирование с начала, поэтому оставьте значение «0».

После запуска сканирования диска появится строка прогресса. Ждать придется долго; иногда система будет зависать – это говорит о том, что программа обнаружила сбойные секторы и теперь определяет степень их повреждения.

После завершения анализа поверхности жесткого диска появится отчет. Изучите пункты «bad sectors founded» и «bad sectors recovered». В этих строках указано количество найденных и восстановленных бэдов. Если в строке «bad sectors founded» указано много бэдов, то исправить сбойные секторы вряд ли удастся, но попробовать можно.

Восстановление бэд блоков в HDD Regenerator

Подключите флешку и запустите программу HDD Regenerator. Выберите режим «Самозагружаемая флешка». Выделите подключенный накопитель и нажмите «Ок». С флешки будет стерта вся информация. Вместо неё запишутся файлы, позволяющие запустить режим DOS. Далее:

  1. Перезагрузите компьютер.
  2. При старте системы начинайте нажимать клавишу F11, пока не появится окно выбора накопителя.
  3. Выберите съемный диск, на котором записаны файлы HDD Regenerator.

Программа запустится в DOS – этот режим лучше подходит для лечения сбойных секторов. Появится окно, которое вы уже видели при работе в Windows. Выберите проверку и восстановление bad блоков (режим работы №1).

Восстановление поврежденных секторов – долгий процесс, поэтому если вы захотите его приостановить, нажмите Esc. Точка остановки запишется на флешку, поэтому при следующем запуске проверка жесткого диска начнется не с начала, а с момента завершения предыдущей работы программы. Лечение диска утилитой HDD Regenerator может занимать несколько дней (зависит от количества бэдов), поэтому выполнять его приходится несколькими подходами.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: