Шифрование и секретность в Linux

       

Шифрование и секретность в Linux

Управление базами данных
Управление базами данных В этой главе будут рассмотрены некоторые вопросы управления СУБД PostgreSQL, в том числе запуск и завершение серверного процесса PostgreSQL, инициализация файло
Запуск и завершение PostgreSQL
Запуск и завершение PostgreSQL В этом разделе описаны два способа запуска и завершения серверного процесса PostgreSQL. Первый способ основан на применении управляющей программы pg_ctl,
Приложение pg_ctl
Приложение pg_ctl В поставку PostgreSQL входит приложение pg_ctl, предназначенное для решения общих задач управления. В частности, оно позволяет запускать, завершать, перезапускать и п
Запуск PostgreSQL в приложении pg_ctl
Запуск PostgreSQL в приложении pg_ctl Чтобы запустить серверный процесс PostgreSQL postmaster, передайте pg_ctl ключ start. Помните, что приложение pg_ctl должно запускаться пользователем

Листинг 9 1 Запуск PostgreSQL в приложении pg_ctl
Листинг 9.1. Запуск PostgreSQL в приложении pg_ctl [postgres@booktown -]$ pg_ctl -D /usr/1oca!/pgsql/data start postmaster successfully started DEBUG: database system was shut dow


Завершение PostgreSQL в приложении pg_ctl
Завершение PostgreSQL в приложении pg_ctl Серверный процесс PostgreSQL postmaster можно остановить той же программой pg_ctl, которой он был запущен. Приложение pg_ctl проверяет Наличие раб
Листинг 9 2 Завершение PostgreSQL в приложении pg_ctl
Листинг 9.2. Завершение PostgreSQL в приложении pg_ctl [postgres@booktown -]$ pg_ctl -D /usr/local/pgsql/data stop -m fast Fast Shutdown request at Mon Sep 17 09:23:39 2001 DEBUG:
Перезапуск PostgreSQL в приложении pg_ctl
Перезапуск PostgreSQL в приложении pg_ctl Последовательные вызовы pg_ctl с операциями stop и start можно заметить одним вызовом с операцией restart. В команде также может присутствовать
Листинг 9 3 Перезапуск PostgreSQL в приложении pg_ctl
Листинг 9.3. Перезапуск PostgreSQL в приложении pg_ctl [postgres@booktown ~]$ pg_ctl -D /usr/1oca!/pgsql/data restart Smart Shutdown request at Mon Sep 17 08:33:51 2001 DEBUG: shu

Проверка состояния PostgreSQL в приложении pg_ctl
Проверка состояния PostgreSQL в приложении pg_ctl При вызове с аргументом status приложение pg_ctl возвращает информацию о состоянии процесса postmaster. Хотя выполнение команды никак не о
Листинг 9 4 Проверка состояния
Листинг 9.4. Проверка состояния PostgreSQL в приложении pg_ctl [postgres@booktown -]$ pg_ctl -D /usr/local/pgsql/data status pg_ctl: postmaster is running (pid: 11575) Command lin
Сценарий SysV
Сценарий SysV Сценарий SysV работает аналогично pg_ctl. В сущности, он играет роль управляющей программы для выполнения команд pg_ctl. Главное отличие заключается в том, что сценарий Sy
Листинг 9 5 Запуск PostgreSQL командой service
Листинг 9.5. Запуск PostgreSQL командой service [root@booktown -]# service postgresql start Starting PostgreSQL: ok [root@booktown -]# Если команда service не поддерживается в вашей с
Листинг 9 6 Проверка состояния
Листинг 9.6. Проверка состояния PostgreSQL с использованием сценария postgresql [root@booktown -]# /etc/re.d/init.d/postgresql status pg_ctl: postmaster is running (pid: 13238) Comman

Прямое обращение к postmaster
Прямое обращение к postmaster Программа postmaster представляет собой многопользовательский серверный модуль базы данных PostgreSQL. Именно к этому процессу в конечном счете подключаютс
Инициализация файловой системы
Инициализация файловой системы Перед созданием базы данных в кластере необходимо предварительно выполнить инициализацию файловой системы. В PostgreSQL это можно сделать двумя способами:
Инициализация кластера баз данных
Инициализация кластера баз данных Программа initdb создает и инициализирует новый кластер баз данных в файловой системе. Как говорилось выше, кластер баз данных представляет собой орга
Листинг 9 7 Инициализация нового кластера
Листинг 9.7. Инициализация нового кластера [postgres@booktown -]$ initdb /usr/local/pgsql/booktown This database system will be initialized with username "postgres".
Инициализация вторичного каталога
Инициализация вторичного каталога Если вы не хотите создавать новый кластер, а всего лишь хотите переместить базу данных в другой каталог, воспользуйтесь программой initlocation. Эта п

Листинг 9 8 Инициализация вторичного каталога
Листинг 9.8. Инициализация вторичного каталога [postgres@booktown -]$ initlocation /usr/local/pgsql/booktown2
Создание и удаление баз данных
Создание и удаление баз данных В процессе установки PostgreSQL создаются два стандартных шаблона баз данных, tempi ateO и tempi atel, на основе которых создаются новые базы данных. Из э
Создание базы данных
Создание базы данных В PostgreSQL существует два способа создания новых баз данных: команда SQL CREATE DATABASE и программа createdb, работающая в режиме командной строки. Оба способа
Листинг 9 9 Проверка наличия права usecreatedb
Листинг 9.9. Проверка наличия права usecreatedb tempiatel= SELECT usecreatedb FROM pg_user WHERE usename='guest': usecreatedb f (1 row)
Команда CREATE DATABASE
Команда CREATE DATABASE Команда SQL CREATE DATABASE имеет следующий синтаксис: CREATE DATABASE база_дднных [ WITH [ LOCATION = 'каталог' ] [ TEMPLATE = шаблон ] [ ENCODING = кодиро

Листинг 9 10 Создание базы данных
Листинг 9.10. Создание базы данных [jworsley@booktown -]$ psql -U manager tempiatel Welcome to psql. the PostgreSQL interactive terminal. Type: \copyright for distribution terms \
Приложение createdb
Приложение createdb В PostgreSQL вместо команды CREATE DATABASE также можно воспользоваться приложением командной строки createdb. Единственное функциональное отличие createdb от команд
Листинг 9 11 Использование приложения createdb
Листинг 9.11. Использование приложения createdb [jworsley@booktown -]$ createdb --location=PGDATA2 -U manager example CREATE DATABASE
Удаление базы данных
Удаление базы данных По аналогии с созданием баз данных в PostgreSQL предусмотрено два способа удаления базы данных из системы: команда SQL DROP DATABASE и программа dropdb. При удален
Команда DROP DATABASE
Команда DROP DATABASE Синтаксис команды SQL DROP DATABASE: DROP DATABASE база_данных Параметр команды DROP DATABASE определяет имя базы данных, удаляемой из системы. Учтите, что удалени

Листинг 9 12 Команда DROP DATABASE
Листинг 9.12. Команда DROP DATABASE tempiatel=# DROP DATABASE example; DROP DATABASE Сообщение сервера DROP DATABASE говорит о том, что база данных успешно удалена, а соответствующие
Приложение dropdb
Приложение dropdb Для команды SQL DROP DATABASE также существует вспомогательное приложение dropdb, работающее в режиме командной строки. Единственное отличие между двумя способами зак
Листинг 9 13 Использование команды dropdb
Листинг 9.13. Использование команды dropdb [jworsley@booktown -]$ dropdb -U manager -1 example Database "example" will be permanently deleted. Are you sure? (y/n) у DR
Сопровождение базы данных
Сопровождение базы данных Тема сопровождения баз данных весьма обширна. В этом разделе рассматриваются такие аспекты, как физическое сопровождение системы (использование дискового прост
Команда VACUUM
Команда VACUUM Команда SQL VACUUM имеет следующий синтаксис: VACUUM [ VERBOSE ] [ ANALYZE ] [ таблица ] VACUUM [ VERBOSE ] ANALYZE [ таблица [ ( поле [. ...] ) ] ] При вызове без

Листинг 9 14 Применение команды VACUUM к отдельной таблице
Листинг 9.14. Применение команды VACUUM к отдельной таблице booktown=# VACUUM books; VACUUM Сообщение VACUUM означает, что процесс завершился успешно. Если заданную таблицу не уда
Листинг 9 15 Применение команды
Листинг 9.15. Применение команды VACUUM ANALYZE ко всей базе данных booktown=# VACUUM ANALYZE; VACUUM Наконец, необязательное ключевое слово VERBOSE применяется в том случае, если
Приложение vacuumdb
Приложение vacuumdb Для команды VACUUM, как и для многих других команд управления базами данных, существует вспомогательное приложение командной строки vacuumdb. По сравнению с командо
Листинг 9 16 Применение сценария
Листинг 9.16. Применение сценария vacuumdb ко всем базам данных [jworsley@booktown -]$ vacuumdb -U manager --all Vacuuming postgres VACUUM Vacuuming booktown VACUUM Vacuuming
Листинг 9 17 Применение сценария
Листинг 9.17. Применение сценария vacuumdb к удаленной базе данных [jworsley@cmd ~]$ vacuumdb -h booktown.commandprompt.com -U manager booktown VACUUM

Документирование базы данных
Документирование базы данных Команда COMMENT В PostgreSQL поддерживается нестандартная команда SQL COMMENT, при помощи которой можно документировать любой объект базы данных. Используя
Листинг 9 18 Создание комментария к таблице books
Листинг 9.18. Создание комментария к таблице books booktown=# COMMENT ON COLUMN books.id booktown-# IS 'An Internal Book Town Identifier'; COMMENT Сообщение COMMENT означает, что к
Чтение комментариев
Чтение комментариев Комментарии к объектам базы данных легко читаются при помощи управляющих команд psql. Список этих команд приведен ниже. \d+. Выводит ту же информацию, что и станд
Листинг 9 19 Вывод комментариев booktown=# \d+ books
Листинг 9.19. Вывод комментариев booktown=# \d+ books Table "books" Attribute j Type Modifier | Description id | integer not null | An Internal Book Town Identifier t
Архивация и восстановление данных
Архивация и восстановление данных Архивация и восстановление данных занимают важное место в работе любого администратора базы данных. Ни одна система не застрахована от сбоев жесткого д

Приложение pg_dump
Приложение pg_dump Приложение pg_dump запускается в режиме командной строки и строит серию команд SQL. Выполнение этих команд в указанном порядке позволяет полностью воссоздать базу да
Листинг 9 20 Использование приложения pg_dump
Листинг 9.20. Использование приложения pg_dump [jworsley@booktown -]$ pg_dump -u -C -f booktown.sql booktown Username: manager Password: [jworsley@booktown -]$ Is -1 booktown.sql
Листинг 9 21 Удаленный запуск pg_dump
Листинг 9.21. Удаленный запуск pg_dump [jworsley@cmd ~]$ pg_dump -u -h booktown.commandprompt.com \ -F с -f booktown.sql.tar.gz booktown Username: manager Password: [jworsley@cm
Приложение pg_dumpall
Приложение pg_dumpall В PostgreSQL также существует приложение pg_dumpall, которое является своего рода оболочкой для вызова программы pg_dump. Основная функция этого при
Листинг 9 22 Использование команды pg_dumpall
Листинг 9.22. Использование команды pg_dumpall [jworsley@booktown -]$ PGUSER=postgres pg_dumpall all.sql Первая часть команды, приведенной в листинге 9.22, присваивает временной

Восстановление базы данных
Восстановление базы данных Существует два способа восстановления базы данных из архива. Если архив пред ставляет собой простой текстовый файл, его можно передать psql в качестве вход но
Использование psql при восстановлении
Использование psql при восстановлении простых текстовых архивов Простой текстовый файл, созданный приложением pg_dump, можно передать psc в качестве входного файла. При этом будут посл
Листинг 9 23 Восстановление базы данных
Листинг 9.23. Восстановление базы данных booktown jworsley@booktown -]$ psql -U manager -f booktown.sql templatel REATE DATABASE эи are now connected to database booktown as user
Использование pg_restore при восстановлении
Использование pg_restore при восстановлении архивов в форматах .tar и .tar.gz Если файл был создан программой pg_dump в формате, отличном от простого текста, его можно восстановить из
Листинг 9 24 Восстановление архива приложением pg_restore
Листинг 9.24. Восстановление архива приложением pg_restore [jworsleytaid -]$ pg_restore -v -С -0 -d template! booktown. sql .tar Connecting to database for restore Creating DATABA

Когда следует архивировать и восстанавливать данные
Когда следует архивировать и восстанавливать данные При использовании программ pg_dump, pg_dumpall и pg_restore приходится учитывать и такой важный фактор, как правильный выбор моментов ар
Когда проводить архивацию
Когда проводить архивацию Начиная с версии 6.5, в PostgreSQL поддерживается режим оперативной архивации, не мешающий нормальной работе других пользователей. Таким образом, основным фак
Когда проводить восстановление
Когда проводить восстановление При восстановлении приходится учитывать больше факторов, чем при простой архивации. Эти факторы в основном связаны с глубиной восстановления,
Архивация файловой системы
Архивация файловой системы Хотя PostgreSQL обеспечивает абстрактное представление пользовательской информации, все данные в базах PostgreSQL хранятся в обычных системных файлах. В проц
Листинг 9 25 Архивация файловой системы PostgreSQL
Листинг 9.25. Архивация файловой системы PostgreSQL [postgres@booktown -]$ cd /usr/local /pgsql [postgres@booktown pgsql]$ pg_ctl stop Smart Shutdown request at Fri Sep 14 14:54:15 20


Парадигмы программирования см. раздел
Секреты настройки Windows см. раздел