Софт

Pgadmin Iii

Рейтинг: 5.0/5.0 (226 проголосовавших)

Категория: Windows

Описание

PostgreSQL: графический клиент pgAdmin

PostgreSQL: графический клиент pgAdmin

PostgreSQL: графический клиент pgAdmin

В предыдущей статье, посвященной СУБД PostgreSQL (см. июльский номер журнала), упоминался графический клиент pgAdmin. В этой статье рассмотрим его основные функции и возможности.

Для тестирования с сайта www.pgadmin.org был скачан пакет pgAdmin III версии 1.0.2 для Windows 2000/XP (в виде msi-архива). Размер дистрибутива составляет менее 5,5 Мб. Установка пакета на операционную систему Windows XP Professional затруднений не вызвала. После традиционного вопроса о согласии с условиями лицензионного соглашения (пакет распространяется бесплатно) и нескольких секунд инсталляционных процедур программа была готова к работе.

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

Открывшееся далее главное окно (рис. 1) своими очертаниями вызвало в памяти образ входящего в состав СУБД Oracle клиента PL/SQL Developer. Правда, некоторый аскетизм панели инструментов навевал мысль, что в функциональном плане различия будут более заметны, и никак не в пользу pgAdmin.

СУБД PostgreSQL версии 7.4.1 у меня была запущена на другой машине (под управлением FreeBSD), что и было указано при добавлении сервера (рис. 2). Поясню отсутствие пароля: моя рабочая машина прописана в файле pg_hba.conf (файл настройки доступа PostgreSQL) как доверенный хост, что позволяет соединяться с сервером БД, как мне заблагорассудится. Своя рука – владыка. Естественно, на рабочем сервере такая халатность не приветствуется.

Теперь слева будет дерево баз данных, справа отображается информация по выделенному объекту и ниже – SQL-команда, с помощью которой выделенный объект мог быть создан (рис. 3).

Для общего представления создадим новую таблицу. Для чего давим правую кнопку мыши над веткой «Таблицы», выбираем «Новый объект» – «Новая таблица» и начинаем вводить ее свойства (рис. 4).

Далее, на вкладке «Колонки» собираем (другое определение к этому процессу подобрать трудно) структуру таблицы, последовательно добавляя поля (рис. 5). Для каждого поля должно быть задано имя и тип данных. Дополнительно можно указать значение по умолчанию и/или отметить поле как «NOT NULL», запретив тем самым оставлять его без определенного значения.

На следующей вкладке можно задать ограничения (первичный и вторичный ключи, UNIQUE и CHECK).

Вкладка «Безопасность» позволяет раздать другим пользователям права доступа к создаваемой таблице.

Последняя закладка – «SQL» – позволяет посмотреть, каким SQL-запросом все это будет создано.

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

Еще один недостаток – об ошибке узнаешь только при попытке сохранить сделанные изменения.

Как уже было вскользь замечено, существующие таблицы можно изменять. Да и было бы странно, если бы такая возможность отсутствовала. Интерфейс тот же самый (за исключением упомянутой выше кнопки «Изменить»). На вкладке «SQL» будет формироваться код, который необходимо выполнить для осуществления желаемых изменений.

Код формируется, как и следовало ожидать, довольно просто, без «хитринки». Например, если дать указание при создании таблицы задать владельца, то в код будет просто добавлена команда «ALTER TABLE … OWNER …» после того, как таблица будет создана командой «CREATE TABLE …». Хотя по-хорошему это можно сделать одной командой.

Для работы с наполнением таблиц служит инструмент «Просмотр данных» (рис. 6). Выполненный в стиле «старого доброго» MS Access, он позволяет просматривать содержимое таблицы, добавлять новые строки, изменять и удалять существующие. Причем изменение данных возможно только в случае, если таблица создана с установленным флагом «Имеет OID». Как ни странно это выглядит, но в обоих случаях инструмент называется именно «Просмотр данных» (в англоязычном варианте «View Data»), несмотря на возможность редактирования, хотя заголовок окна гласит «pgAdmin III Edit data», и тоже в обоих случаях. Таким образом, этот недочет, допущенный при проектировании интерфейса, способен ввести в заблуждение, и сразу отыскать возможность работы с данными таблиц довольно трудно.

Более широкие возможности по работе с запросами предоставляет «Инструмент запросов» (рис. 7). Тут уже есть куда ввести любой SQL-запрос и посмотреть его результат. Закладка «Сообщения» внизу окна позволяет ознакомиться с такой информацией, как количество выбранных запросом записей и время выполнения запроса. Весьма полезная функция – «Объяснить запрос» (рис. 8), выводящая последовательность действий, которые будет выполнять PostgreSQL, обрабатывая данный запрос, с расчетом времени, затрачиваемого на каждую операцию – незаменимый инструмент для оптимизации запросов. В пункте меню «Запрос» – «Опции режима объяснения» можно включить и подробный разбор каждого запроса.

Функция обслуживания БД позволяет выполнить дефрагментацию и анализ структуры базы данных либо отдельных таблиц. Регулярная дефрагментация нужна для повышения скорости доступа к данным, а анализ поставляет служебную информацию оптимизатору СУБД, на основании которой последний способен обрабатывать запросы более эффективно.

Ну и наконец, в окне «Опции» вы можете произвести некоторые настройки интерфейса, такие как выбор языка и шрифта, по своему вкусу, а также настроить log-файл.

Включение опции «Показать» – «Системные объекты» приведет к отображению баз template0 и template1, а также в каждой пользовательской БД, помимо схемы public, хранящей пользовательские данные, будут видны и служебные схемы: information schema, pg_catalog, pg_temp_1, pg_toast (рис. 9). Естественно, что для работы с системными объектами нужно обладать соответствующими правами.

Трудно сказать, недостаток это или особенность реализации, но pgAdmin жестко привязывает имя пользователя к конкретному серверу. То есть при необходимости подсоединиться к БД с другими правами приходится создавать несколько «серверов», указывающих на одну СУБД, но с разными пользователями (рис. 10). Хотя в этом есть и определенные преимущества, т.к. можно поддерживать одновременно несколько подключений с различными правами. К слову, посмотреть все подключения к СУБД можно, выбрав «Сервис» – «Состояние сервера».

В заключение заметим, что в клиенте доступен файл помощи. Правда, он на английском языке, но тем не менее достаточно подробно, просто и с обилием иллюстраций описывает работу с клиентом, его настройку, а также содержит подробную справку по PostgreSQL 7.4. Показалось несколько неудобным, что развернутое окно помощи всегда находится поверх рабочего окна, закрывая часть данных. Хотя всегда можно открыть справку отдельно (соответствующий пункт присутствует в группе «pgAdmin III» меню «Пуск»), и тогда ничто не будет мешать переключаться между окнами любимой комбинацией .

Итак, мои общие впечатления – клиент добротный, не считая мелких недостатков; поддерживает практически все функции разработки и администрирования. Широкие возможности по анализу запросов, наглядное представление структуры БД и ее составляющих, интуитивно понятный, не обремененный ничем лишним, да еще и русскоязычный интерфейс делают pgAdmin удобным инструментом для работы с базами PostgreSQL, особенно для начинающих. Помимо версии для Windows, есть пакеты для Linux (Debian, RPM, Slackware packages), для FreeBSD. При желании пакет может быть собран и из исходных текстов.

Дополнительную информацию (в том числе и на русском языке) можно получить на сайте проекта.

Другие статьи, обзоры программ, новости

Восстановление postgresql базы 1с из бэкапа - Блог jcover

Восстановление postgresql базы 1с из бэкапа

Восстановить базу postgresql из бэкапа можно двумя способами:

1. Если у вас имеется выгрузка БД (базы данных) из конфигуратора, файл с разрешением *dt (как делать выгрузку БД средствами 1С я писал в этой статье), то необходимо просто загрузить базу из этого файла .

2. Загрузка БД с помощью инструментов pgAdmin (актуально при наличии выгрузки с помощью этого инструмента, как делать выгрузку читайте тут ):

Заходим в pgAdmin (в примере используется pgAdmin III версии 1.21.1 ) под пользователем, указанном при установке PostgreSQL как суперюзер, указываем пароль, переходим в брузер объектов, выделяем нужную нам БД, запоминаем значения свойств (кодировку, тип символа и самое главное – название базы) и удаляем базу данных:

Далее нам необходимо создать новую базу данных, заполнив нужные значения (выделено красным):

После создания базы данных, выбираем ее правой кнопкой мыши, нажимаем “Восстановить”, указываем путь к файлу с копией вашей БД и нажимаем “ОК” (процедура длительная, в зависимости от конфигурации вашего сервера и размера базы данных, так что можете посвятить себя какой-то альтернативной задаче на 30-40 минут точно):

По завершению появится сообщение “Процесс вернул код выхода 0”, нажимайте “ОК” и пробуйте запускать вашу базу данных в 1С.

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

Читайте также:

Создание резервной копии и восстановление базы данных PostgreSQL - Holdem Manager на NLclub

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

Примечание: Эта статья предназначена только для опытных пользователей.

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

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

Примечание: Никогда не восстанавливайте базу данных из резервной копии, созданной PGAdmin в новую базу, которую создали из Control Panel Холдем менеджера. Если создали резервную копию с помощью PGAdmin, то и все этапы восстановления должны быть произведены через PGAdmin.

Создание резервной копии базы данных
  1. Чтобы создать резервную копию нажмите кнопку Пуск > Программы > PostgreSQL 8.X > PG Admin III, либо найдите и щелкните мышкой на выполняемом файле pgAdmin3.exe с изображением слона, в папке программы по адресу: C:/Program Files/PostgreSQL/8.X/bin/.
    После этого должно появиться нижеприведенное диалоговое окно:

2. В появившемся диалоговом окне объекта дважды щелкните мышкой на названии “PostgreSQL Database Server 8.X” расположенном вверху слева, появится окно с запросом пароля.

3. После введения правильного пароля вы увидите новое диалоговое окно, как показано ниже: (Данный пароль вы использовали при установке PostgreSQL.)

4. Затем раскройте папку базы данных и выберите соответствующую базу данных (по умолчанию - HoldemManager).

Примечание: После этого появится всплывающее окно с сообщением о шифровании базы данных, если оно появится, поставьте галочку на флажок «не показывать эту подсказку в дальнейшем» и нажмите ОК.

5. Щелкните правой кнопкой мышки на HoldemManager и выберите меню Backup..

6. После выбора меню Backup нажмите на кнопку с 3 точками, находящуюся в верхнем правом углу, укажите название и расположение, куда вы хотите сохранить резервную копию, нажмите на кнопку Save и после этого нажмите ОК, все настройки оставьте по умолчанию. Запомните, куда вы сохранили резервную копию базы данных на случай необходимости ее восстановления. Во время сохранения резервной копии программа может перестать реагировать на действия пользователя, после завершения копирования кнопка ОК, которая при сохранении резервной копии будет неактивного серого цвета, изменится на Done. Щелкните на ней.

Работа по сохранению резервной копии завершена.

Восстановление базы данных

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

Для восстановления Вашей базы данных нужно:

Или же найдите и щелкните мышкой на выполняемом файле pgAdmin3.exe с изображением слона, в папке программы по адресу: C:/Program Files/PostgreSQL/8.x/bin/

После этого должно появиться нижеприведенное диалоговое окно:

2. В появившемся диалоговом окне объекта дважды щелкните мышкой на названии “PostgreSQL Database Server 8.X” расположенном вверху слева, появится окно с запросом пароля..

3. После введения правильного пароля вы увидите новое диалоговое окно, как показано ниже: (Данный пароль вы использовали при установке PostgreSQL.)

4. В pgAdmin. перейдите по пути меню Edit >New Object >New Database. Откроется окно создания новой базы данных.

5. В закладке Properties, введите наименование новой базы, все остальные поля нужно оставить без изменений. Нажмите OK.

6. Затем раскройте папку базы данных и выберите новую базу данных. Щелкните правой кнопкой мышки на ней и выберите меню Restore. Откроется следующее диалоговое окно:

7. В поле Filename. нажмите на кнопку с тремя точками и укажите файл с резервной копией Вашей базы, нажмите Open .

8. Оставьте все установки как есть и нажмите OK .

9. Процесс восстановления может закончиться с ошибкой, просто нажмите кнопку отмены, не нажимайте ОК - нет смысла повторять восстановление.

Ваша база данных была восстановлена из резервной копии.

NLClub является официальным представителем Holdem Manager в регионе Восточной Европы. Мы предлагаем вам лучшую программу для ведения покерной статистики и полноценного анализа игры – Холдем Менеджер. У нас на сайте Вы можете ознакомиться с тонкостями программы в разделе FAQ, также получить полноценную рускоязычную поддержку на форуме. А также скачать и купить Холдем Менеджер (Holdem Manager), Омаха Менеджер(Omaha Manager) и Сканер столов(Table Scanner).

PgAdmin - скачать бесплатно русскую версию pgAdmin для Windows

pgAdmin Основная информация о программе

Программа pgAdmin является одним из клиентов, предназначенных для серверов PostgreSQL. С помощью pgAdmin очень удобно администрировать сервера PostgreSQL, а так же создавать базы данных (все инструменты, которые нужны для этого, устанавливаются по умолчанию с самой программой). Интерфейс графический и дружелюбный. Главное окно утилиты разделено на три части: окно свойств (выводит информацию о выбранном объекте), SQL pane (показывает оператора SQL, с помощью которого был создан выбранный объект), object browser (в этом браузере вы увидите объекты баз данных и сервера, а так же подключения к нему).

Для того чтобы обезопасить данные, рекомендовано делать регулярное резервное копирование. В pgAdmin для этой цели служит инструмент Backup, находящийся в меню Tools. Восстановление производится с помощью инструмента Restore. Помимо этого, в pgAdmin вы найдете ещё множество важных и полезных инструментов, вроде создания таблиц, модуля для работы с запросами, анализа и сжатия баз данных, изменения конфигурации сервера, определения прав доступа и так далее. Утилита кроссплатформенная. Доступно более 30 языков интерфейса. Присутствует система помощи (онлайн и офлайн).

Ключевые особенности и функции
  • удобный графический интерфейс;
  • создание баз данных;
  • подробная информация о каждом объекте;
  • кроссплатформенность;
  • более 30 поддерживаемых языков.
Что нового в этой версии?
  • разрешено несколько вкладок редактора SQL, которые будут использоваться в инструменте запроса;
  • устранен вылет, когда соединение с базой данных потеряно и должно быть сброшено;
  • исправлено отображение истекшего времени запросов, работающих более чем 1 час;
  • устранены проблемы при подключении к Greenplum или Greenplum HAWQ;
  • исправлена ошибка с выбором функций преобразовании в диалоге "CREATE CONVERSION";
  • установлен правильный синтаксис, используемый для перемещения объектов из одного табличного пространства в другое;
  • добавлены значки на панели инструментов и пункты в меню для принятия или отката действий.
Смотреть всю историю изменений

Установка и настройка PostgreSQL и pgAdmin в ОС Linux OpenSUSE 13

Установка и настройка PostgreSQL и pgAdmin в ОС Linux OpenSUSE 13.2

Система управления базами данных PostgreSQL очень популярна, к тому же она бесплатная и отлично подходит для начинающих администраторов и программистов баз данных, поэтому сейчас мы рассмотрим возможность установки и настройки данной СУБД в операционной системе Linux OpenSUSE 13.2.

С СУБД PostgreSQL и средством администрирования и разработки баз данных pgAdmin мы не раз уже сталкивались, в основном это касалось программирования на языке SQL и PL/pgSQL например в материалах: Как использовать курсор в функциях на PL/pgSQL. Как написать функцию на PL/pgSQL. но также затрагивали и администрирование, и на данный момент мы знаем, как создавать архив базы PostgreSQL. а также как восстановить базу данных PostgreSQL. Но как это не странно мы не разу не разговаривали о том, как же установить и настроить данную СУБД и средство ее администрирования, поэтому сегодня я предлагаю научиться, это делать.

Так как сайт для начинающих администраторов и программистов, материал также будет ориентирован на новичков, которые просто хотят установить PostgreSQL, сделать первоначальную настройку и тренироваться писать запросы, администрировать СУБД, в общем, изучать PostgreSQL.

Устанавливать и настраивать PostgreSQL и pgAdmin мы будем на популярной операционной системе Linux OpenSUSE 13.2. Еще раз повторюсь, что данным материалом не стоит руководствоваться, если Вы хотите развернуть PostgreSQL в масштабах предприятия, так как все что мы будем рассматривать ниже только для домашнего (локального ) использования в целях обучения, потому что на многие настройки в домашнем использовании мы просто не будем обращать внимания, например на метод аутентификации (забегу вперед мы будем настраивать методом trust ), который даже пароль не требует, и соответственно абсолютно не подходит для корпоративного использования.

Материал будет выглядеть следующим образом, сначала мы рассмотрим, что же вообще такое PostgreSQL и pgAdmin, а затем установим их двумя способами в ОС Linux OpenSUSE 13.2. В первом случае будем использовать графический интерфейс YaST, а во втором, традиционным для Linux способом, будем использовать терминал, затем мы настроем PostgreSQL и в заключение подключимся к базе, используя самое популярное средство, для PostgreSQL, это pgAdmin.

Что такое PostgreSQL?

PostgreSQL – это бесплатная система управления базами данных (СУБД), которая реализована практически под все операционные системы такие как: Linux, Solaris, Windows и поэтому является одной из самых популярных СУБД в мире. PostgreSQL соответствует всем стандартам полноценной СУБД и неплохо конкурирует с такими гигантами в этой области как Oracle и MS SQL Server .

В PostgreSQL для программирования используется процедурное расширение языка SQL, а именно PL/pgSQL (Procedural Language/PostGres Structured Query Language ), кстати, он немного похож на PL/SQL, который используется в Oracle.

В связи с популярностью, для PostgreSQL написано множество библиотек для взаимодействия со многими известными языками программирования, например: C++, Java, PHP, Perl, Python и другие.

Что такое pgAdmin?

pgAdmin – это бесплатная среда разработки и администрирования СУБД PostgreSQL. pgAdmin так же как и сама СУБД PostgreSQL реализован для всех известных платформ, например: Linux, FreeBSD, Solaris, Mac OSX и Windows.

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

Примечание!Как я уже сказал установку, мы будем производить на операционную систему Linux OpenSUSE 13.2 в графической оболочке KDE. поэтому при просмотре скриншотов прошу это учитывать. Также хочу заметить, что на момент написания статьи были доступны следующие версии, а именно Postgresql 9.3 и pgAdmin 1.18.1. поэтому именно эти версии мы и будем устанавливать.

Установка PostgreSQL и pgAdmin в OpenSUSE 13.2 через YaST

Первое что нам необходимо сделать это, конечно же, запустить «Установка/удаление программ », это делается следующим образом, Меню->Компьютер->Установка/удаление программ

Для этих действий естественно требуются права суперпользователя (root), поэтому далее появится окно ввода пароля, мы соответственно вводим и жмем «ОК »

В последствии у нас откроется интерфейс YaST для установки и удаления программ. Мы в форму поиска вводим postgresql и жмем «Поиск ». Затем ищем и выбираем компоненты, а именно:

  • postgresql;
  • postgresql-server;
  • postgresql-contrib;
  • pgadmin3.

При этом они выделяются большими галочками, а дополнительные, требуемые для установки пакеты выделяются, автоматически, маленькими галочками, жмем «Принять »

Затем так как у меня еще не был установлен flash-player, он выбрался автоматически и соответственно будет установлен, и для этого необходимо согласится с условиями лицензионного соглашения, жму «Принять » (если у Вас он уже установлен, то этого окошка у Вас может и не быть ).

Затем будет представлен список пакетов, которые будут установлены, практически все они были выбраны автоматически, но лучше всех их установить. Жмем «Продолжить »

Затем начнется загрузка, а следом и установка этих пакетов

А по завершении установки YaST выведет отчет об установке, из которого мы увидим небольшую статистку, например, сколько времени заняла установка, у меня это всего 4 минуты, а также количество установленных пакетов, размер установки и еще другую информацию, жмем «Завершить »

Установка через YaST завершена.

Установка PostgreSQL и pgAdmin в OpenSUSE 13.2 с помощью терминала

Открываем терминал (в KDE это Konsole ) путем нажатия Меню->Терминал

Также как и через YaST сначала необходимо получить права суперпользователя, для этого просто пишем su, жмем enter и набираем пароль (соответственно суперпользователя ) и снова жмем enter

Затем, используя утилиту zypper, устанавливаем нужные нам пакеты, делается это вот так

Затем появится информация о том, какие пакеты будут установлены, мы соответственно соглашаемся, вводим Y и жмем enter

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

После установке всех пакетов, установка PostgreSQL и pgadmin из терминала будет завершена.

Настройка PostgreSQL в OpenSUSE 13.2

Все настройки мы будем делать в терминале, поэтому открываем терминал, все тем же способом что и раньше.

И для начала меняем пароль для пользователя Postgres (так как по умолчанию его просто нет ), естественно, что это делается от имени суперпользователя, поэтому, как и при установке пишем su и вводим пароль. Затем командой passwd задаем пароль для пользователя postgres.

Затем проверяем статус postgresql т.е. запущен ли сервер или нет, это делается следующей командой

Если в ответ мы получили unused значит postgresql не инициализирован.

Поэтому нам необходимо инициализировать PostgreSQL и лучше это сделать от имени пользователя postgres. Для инициализации postgresql переключаемся на пользователя postgres, все той же командой su, только после пишем логин пользователя, от имени которого мы хотим выполнять команды, т.е. postgres

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

Далее стартуем PostgreSQL от имени root, для этого уже привычным способом переключаемся на суперпользователя т.е. через su, и пишем команду по запуску postgresql, а именно:

И можем сразу проверить статус уже знакомой командой

Сейчас статус должен быть running это значит, что postgresql работает.

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

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

Настройка pgAdmin - подключение к базе PostgreSQL

Для запуска pgAdmin открываем Меню->Приложения->Система->Утилита администрирования баз данных PostgreSQL

После открытия жмем «Добавить подключение к серверу »

Далее заполняем необходимые поля для подключения к серверу, а именно: имя подключения, хост (в нашем случае localhost ), порт по умолчанию, имя пользователя тоже, т.е. postgres, пароль не требуется, галочку «Сохранить пароль» можете оставить, и в поле пароль написать что-нибудь, чтобы бы каждый раз при подключении не выходило окно ввода пароля. Жмем «ОК »

Далее нам скажут, что пароль будет храниться в файле .pgpass, в нашем случае это и не важно, так как у нас нет пароля, мы его ввели, только для того чтобы данное окно не выходило. Жмем «ОК ».

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

На этом наш сегодняшний урок, посвященный PostgreSQL окончен, в следующих материалах, мы, конечно же, вернемся к теме PostgreSQL и pgAdmin, а пока на этом все. Удачи!

Структурированный язык запросов Лекционный материал ГКПОУ Прокопьевского горнотехнического техникума им

Лекционный материал ГКПОУ Прокопьевского горнотехнического техникума им. В.П. Романова Структурированный язык запросов

Структурированный язык запросов (Structured Query Language, SQL) не является полноценным языком программирования. Он представляет собой всего лишь подъязык данных (data sublanguage), поскольку в нем имеются лишь операторы для создания и обработки баз данных. Несмотря на свою узкую специализацию, язык SQL может быть встроен в программы на специальных или универсальных языках программирования (например, Java или Object Pascal). Операторы языка SQL могут как вводиться в интерактивном режиме, так и использоваться в хранимых процедурах, представлениях (view), функциях и триггерах.

Язык SQL был разработан фирмой IBM в конце 1970-х годов и был стандартизирован в 1992 году. Рассматриваемая в данном конспекте лекций версия языка SQL будет базироваться именно на стандарте SQL-92. Более поздняя версия стандарта, именуемая SQL3, включает в себя ряд заимствованных из объектно-ориентированного программирования концепций. Стандарт SQL-92 довольно обширный и ни одна из коммерческих СУБД, таких как SQL Server, Oracle или DB2, не реализует его полностью. В данном пособии будут рассмотрены операторы языка, поддерживаемые большинством СУБД.

SQL ориентирован на текст, поскольку был разработан задолго до появления графических интерфейсов пользователя. Таким образом, для работы с SQL потребуется лишь текстовый редактор. Сегодня практически во всех СУБД имеются графические средства для визуализации многих задач, которые ранее можно было выполнить только посредством SQL, но SQL все еще актуален, поскольку не все можно визуализировать. Посредством SQL можно определять структуры данных, а так же запрашивать и обновлять информацию в базе данных. Совокупность команд для определения данных иногда называют языком определения данных (data definition language, DDL), а совокупность команд для обновления и запроса данных - языком манипулирования данными (data manipulation language, DML). Далее оба этих подмножества языка будут рассмотрены на примерах.

Подключение к SQL-серверу

Постараемся вкратце изложить основные моменты для начала работы с SQL-сервером. Изложенное здесь будет касаться СУБД PostgreSQL 9. Предполагается, что на данный момент у вас имеется установленный и настроенный на подключение удаленных пользователей сервер. Рассмотрим процесс подключения к серверу из консольного (psql) и графического (PgAdmin III) клиентов.

Консольное приложение psql

Для множества операционных систем доступна консольная версия терминала PostgreSQL. По опыту использования этого приложения в ОС Linux, можно отметить, что работать с сервером через терминал psql довольно удобно. Есть ряд команд для просмотра баз данных, таблиц, пользователей и т.п. Можно выводить структуру отдельных таблиц и выполнять любые запросы. Версия под Windows не так удобна, поэтому в Windows лучше использовать PgAdmin III. Поскольку psql - консольное приложение, то и запускать его следует в консоли. Для ознакомления со списком параметров psql, наберите в консоли

Вот что выдает эта команда на компьютере под управлением ОС OpenSUSE Linux 11.4:

Для простейшего использования psql, согласно информации по параметрам, наберите в консоли

где 192.168.6.253 - адрес компьютера, на котором запущена СУБД postgreSQL, имя пользователя (-U) - test, используемая база данных (-d) - test, и сетевой порт СУБД PostgreSQL на сервере (-p) - 5432. В принципе, это значение порта является стандартным и если сервер слушает запросы по этому порту, то параметр -p 5432 можно не указывать.

Вот пример соединения с сервером посредством psql

Видно, что при успешном выполнении команды на подключение, выводится приглашение командной строки

Собственно, можно выполнять команды. Если есть необходимость в получении справки, то можно выполнить команду help. Допустим, нам надо вывести на экран список таблиц в базе данных. Для этого выполним команду \dt

Как видно из листинга, в базе данных имеется три таблицы. Подробнее о структуре той или иной таблицы можно узнать при помощи команды \d <имя таблицы>. Например, узнаем подробнее о таблице load

Запросы можно писать непосредственно. Например, для выборки всех записей из таблицы load, можно выполнить запрос SELECT * FROM load;. Обратите внимание на то, что в конце любого запроса должна быть указана точка с запятой (символ ';'). Если точку в запятой не указать, то запрос будет не завершен и при нажатии на Enter вы просто перейдете на новую строку для продолжения запроса. Таким образом, можно разбивать запросы на несколько строк.

как видно из листинга, в таблице есть 5 строк. Они выводятся на экран в виде псевдографики. Если столбцов много, то часть из них будет перенесена на новую строку и это затруднит восприятие информации. Если строк в таблице больше, чем может уместиться на экране (предполагается, что экран вмещает всего 25 строк), то строки будут выводиться на экран частями с возможностью навигации. Таким образом, чтобы сократить количество записей или не выводить ненужные поля, применяйте запрос SELECT с указанием полей и ключевым словом WHERE, которое задает критерии фильтрации. Так же, можно использовать ключевое слово LIMIT с указанием количества строк, лимитированных запросом. Например, запрос

отобразит на экране всего три строки таблицы. При этом, столбцы lod_pcode и lod_subcode отображены не будут. Запрос

отобразит на экране только те записи, значение поля log_hours которых будет больше 100.

Для завершения работы с psql, наберите команду \q и нажмите Enter.

Графическое приложение pgAdmin III

Помимо рассмотренного выше консольного приложения psql, иногда может быть доступно графическое приложение pgAdmin. Некоторые найдут его более удобным, потому что большая часть рутины может быть выполнена в несколько кликов мышкой в процессе работы с диалоговыми окнами. Для опытных профессионалов, привыкших самостоятельно писать запросы, есть приукрашенная консолька, в которой эти самые запросы могут быть выполнены. Для операционной системы Windows и начинающих пользователей, pgAdmin - самый оптимальный вариант. Окно программы непосредственно после запуска выглядит согласно рисунку 1.

Рисунок 1. - Экран программы PgAdmin III

В левой части экрана программы, в браузере объектов есть группа серверов, которая в данный момент пуста. У вас там могут быть сохранены какие-либо подключения. Для подключения к серверу, можно либо создать новое подключение, либо отредактировать настройки существующего. Рассмотрим процесс создания нового подключения. Для этого, щелкнем левой кнопкой мыши на иконке с изображением штепселя в левом верхнем углу над браузером объектов. Откроется диалоговое окно, аналогичное изображенному на рисунке 2.

Рисунок 2. - Диалоговое окно подключения к серверу

Введите данные для подключения согласно вашей конфигурации сети, аналогично данным в диалоговом окне на рисунке. Если вы все указали правильно, то при нажатии на кнопку «ОК», в группе серверов появится новый объект, щелкнув на котором, можно просматривать базы данных на сервере, таблицы и т.п. Чтобы открыть консоль для выполнения запросов, кликните левой кнопкой мыши на иконке «выполнить пользовательские SQL запросы» (на рисунке 3 именно над этой кнопкой находится курсор мыши).

Рисунок 3. - Соединились с сервером и собираемся выполнить пару запросов

Внешний вид окна для выполнения пользовательских запросов изображен на рисунке 4.

Рисунок 4. - Окно для выполнения пользовательских запросов

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

Практическая работа № 4

Требуется подключиться с серверу PostgreSQL, используя консольный клиент psql или приложение PgAdmin. Параметры подключения к серверу нужно уточнить у преподавателя. Отчет должен содержать пошаговую инструкцию для подключения к серверу, а так же ответы на контрольные вопросы и результат выполнения заданий.

Контрольные Вопросы и задания

Какие базы данных есть на сервере? Опишите процесс получения списка баз данных.

Какие пользователи есть на сервере? Опишите процесс получения списка пользователей.

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

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

Опишите структуру любой из таблиц в базе данных, к которой вы подключились. Каким образом можно узнать структуру таблицы?

rabd/sql.txt · Последние изменения: 2013/12/12 10:51 — pgtk

Процедуры в pgAdmin III

Откуда:
Сообщений: 28

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

DROP PROCEDURE IF EXISTS `test`.`fill`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `fill`()
BEGIN
DECLARE v1 INT DEFAULT 1000;
WHILE v1 > 0 DO
insert into tab1 (znach) values (RAND());
SET v1 = v1 - 1;
END WHILE;
END$$

Как же мне поступить сдесь. что то не как не разберусь, помогите чем сможете))) Заранее благодарин.

Re: Процедуры в pgAdmin III [new]

Откуда:
Сообщений: 2199

alexay_1985, по-моему, тут вообще процедура не нужна

Re: Процедуры в pgAdmin III [new]

Откуда:
Сообщений: 28

Ну с запросом все понятно, все работает как надо, мне просто нужно создать процедуру чтобы я к ней мог обратиться в любой момент, просто не пойму как тут это сделать? (Видимо с помощью тригеров и функций новерно или еще как то?)

Заметки разработчика: Работа с postgresql при помощи pgadmin

Альтернативой работе с базой данных через консоль является более интуитивно понятная среда любого клиента с графическим интерфейсом. Например, pgAdmin. Установить его очень просто, выполняем с правами суперпользователя:
sudo apt-get install pgadmin3 Теперь можно запустить pgAdmin через графический интерфейс. Выбираем в списке локальный сервер БД (у него дефолтный порт 5432) и добавляем уже созданную нами БД с теми параметрами, которые мы задали.


В это локальном сервере помимо узла Databases можно найти также узел под названием Login Roles - все доступные роли.

Выберем из всех доступных баз данных ту, которую мы создали при установке postgresql. В базе данных содержится множество различных типов объектов. Среди особое внимание следует уделить таблицам и последовательностям (sequences ).

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

Создание последовательности в pgAdmin


Для начала создадим последовательность. Выбираем Sequences - New Sequence. На первой вкладке вводим имя и указываем в качестве Owner ту роль, которую мы создали. Для других ролей эта последовательность будет недоступна. На второй вкладке в поля Increment и Start вводим по единице (если вам не требуется другое). На последней вкладке диалогового окна можно посмотреть результирующий SQL запрос, который будет выполнен к БД.

После того, как последовательность создана, приступим к созданию таблицы. Также указываем её имя и владельца (owner). На четвёртой вкладке Columns добавляем прежде всего первичный ключ. Кнопка Add. в появившемся окне указываем название столбца, например, id. В качестве типа данных выбираем bigint. На второй вкладке Definition в поле Default Value указываем нашу последовательность. В поле должно быть значение вида nextval('message_id_seq'::regclass). То есть каждый раз при добавлении новой строки из последовательности будет браться следующее значение. Добавили другие столбцы по необходимости. Наконец, на вкладке Constraints добавим ограничение на первичный ключ (Primary Key ). На последней вкладке можем полюбоваться на результирующий SQL код, который сгенерировал pgAdmin. После нажатия ОК таблица будет создана.

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

Давайте посмотрим содержимое нашей таблицы. Для этого правой кнопкой мыши нажмём на неё и выберем в контекстном меню View Data - View 100 rows .

Просмотр содержимого таблицы в pgAdmin


В этом же окне можно быстро отредактировать значение любой ячейки таблицы. Если в вашей таблице больше 100 записей, измените количество отображаемых записей в выпадающем списке в верху окна. Вы можете отобразить 100, 500, 1000 или все записи. Но это не более чем способ быстро посмотреть содержимое таблицы и привыкать к нему не стоит. Если у вас в таблице десятки тысяч записей, отображать все записи сразу я бы не рекомендовал - в таком случае лучше писать запрос с использованием параметров limit и offset .