- PostgreSQL 9.2 Начало!
- Сборка и установка
- Настройка
- Утилиты для работы с базой
- Менеджеры по работе с базой
- Установка PostgreSQL
- Что такое PostgreSQL и зачем она нужна
- Как установить PostgreSQL на Ubuntu
- Настройка PostgreSQL на Ubuntu
- Создание пользователя PostgreSQL в Ubuntu
- Новая база данных и передача прав
- Команды PostgreSQL Linux
- Удаление PostgreSQL с Ubuntu
- Установка и настройка PostgreSQL на Windows
- Настройка
- Таблица
- Заключение
PostgreSQL 9.2 Начало!
Мне хотелось создать прекрасный объемлющий мануал Getting Start без всякой воды, но включающий основные плюшки для начинающих по системе PostgreSQL в Linux.
PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.
PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:
Сборка и установка
Как и все любители мейнстрима PostgreSQL мы будем конечно же собирать, а не скачивать готовые пакеты (в репозитариях Debian, например, нет последней версии). Вот здесь лежит множество версий, скачивать конечно же лучше всего последнюю. На момент написания поста это версия 9.2.2
Теперь у нас есть директория с исходниками сей прекрасной базы данных.
По умолчанию файлы базы будут установлены в директорию /usr/local/pgsql, но эту директорию можно изменить задав
перед командой ./configure
Перед сборкой можно указать компилятор С++
PostgeSQL может использовать readline библиотеку, если у вас её нет и нет желания её ставить просто укажите опцию
Надеюсь у всех есть Autotools? Тогда вперед к сборке:
Все господа! Поздравляю!
Настройка
Нам необходимо указать хранилище данных наших баз данных (кластер) и запустить её.
Есть один нюанс — владельцем директории данных и пользователь, который может запускать базу должен быть не root. Это сделано в целях безопасности системы. Поэтому создадим специального пользователя
И далее все понятно
Важный процесс. Мы должны инициализировать кластер баз дынных. Сделать мы должны это от имени пользователя postgres
Теперь нужно добавить запуск PostgreSQL в автостарт. Для этого существует уже готовый скрипт и лежит он в postgresql-9.2.2/contrib/start-scripts/linux
Этот файл можно открыть и обратить внимание на следующие переменные:
- prefix — это место куда мы ставили PostgreSQL и задавали в ./configure
- PGDATA — это то, где хранится кластер баз данных и куда должен иметь доступ наш пользователь postgres
- PGUSER — это тот самый пользователь, от лица которого будет все работать
Если все стоит верно, то добвляем наш скрипт в init.d
Перезапускам систему, чтобы проверить что наш скрипт работает.
Вводим
И если появится окно работы с базой, то настройка прошла успешно! Поздравляю!
По умолчанию создается база данных с именем postgres
Теперь важно поговорить о методах авторизации.
В /usr/local/pgsql/data/pg_hba.conf как раз есть необходимые для этого настройка
Первая строка отвечает за локальное соединение, вторая — за соединение про протоколу IPv4, а третья по протоколу IPv6.
Самый последний параметр — это как раз таки метод авторизации. Его и рассмотрим (только основные)
- trust — доступ к базе может получить кто угодно под любым именем, имеющий с ней соединение.
- reject — отклонить безоговорочно! Это подходит для фильтрации определенных IP адресов
- password — требует обязательного ввода пароля. Не подходит для локальных пользователей, только пользователи созданные командой CREATE USER
- ident — позволяет только пользователем зарегистрированным в файле /usr/local/pgsql/data/pg_ident.conf устанавливать соединение с базой.
Вкратце расскажу об основных утилитах, которые пригодятся в работе.
Утилиты для работы с базой
pg_config
Возвращает информацию о текущей установленной версии PostgreSQL.
initdb
Инициализирует новое хранилище данных (кластер баз данных). Кластер представляет собой совокупность баз данных управляемых одним экземпляром севера. initdb должен быть запущен от имени будущего владельца сервера (как указано выше от имени postgres).
pg_ctl
Управляет процессом работы сервера PostgreSQL. Позволяет запускать, выполнять перезапуск, останавливать работу сервера, указать лог файл и другое.
psql
Клиент для работы с базой дынных. Позволяет выполнять SQL операции.
createdb
dropdb
Удаляет базу данных. Является оберткой SQL команды DROP DATABASE.
createuser
dropuser
Удаляет пользователя базы данных. Является оберткой SQL команды DROP ROLE.
createlang
droplang
Удаляет язык программирования. Является оберткой SQL команды DROP LANGUAGE.
pg_dump
pg_restore
pg_dumpall
Создает бэкап (дамп) всего кластера в файл.
reindexdb
Производит переиндексацию базы данных. Является оберткой SQL команды REINDEX.
clusterdb
Производит перекластеризацию таблиц в базе данных. Является оберткой SQL команды CLUSTER.
vacuumdb
Сборщик мусора и оптимизатор базы данных. Является оберткой SQL команды VACUUM.
Менеджеры по работе с базой
Что касается менеджера по работа с базой, то есть php менеджер — это phpPgAdmin и GUI менеджер pgAdmin. Должен заметить, что они оба плохо поддерживают последнюю версию PostgreSQL.
Источник
Установка PostgreSQL
Желание сэкономить и получить взамен качественное программное обеспечение, часто приводит веб-мастеров или разработчиков приложений к выводу, что установка и настройка PostgreSQL является единственным надежным выходом. Откуда появилась такая популярность у данного инструмента и как начать им пользоваться, будет данная статья.
Что такое PostgreSQL и зачем она нужна
PostgreSQL – система управления базами данных, после появления которой стал постепенно вытесняться более привычный MySQL. Дело в том, что в отличие от него PostgreSQL имеет ряд непоколебимых преимуществ, среди которых:
- Доступные улучшенные или отсутствующие в MySQL функции.
- Поддержка расширения возможностей.
- Надежная передача данных.
- Отсутствие блокировок чтения при параллелизации.
Стоит отметить также то, что привыкать к новому синтаксису почти не придется, ведь используемый в данной СУБД PL/pgSQL является практически братом близнецом Oracle MySQL.
Встроенная библиотека SQLite идеально подходит для построения базы данных, используемой в локальном приложении с постоянным, прямым доступом к жесткому диску. Ведь все данные будут находиться в одном единственном файле, что очень положительно сказывается на скорости чтения находящихся в нем данных.
В завершении, важно упомянуть что данный продукт, в отличие от многих конкурентов, не требует денежных взносов или оформления подписки. PostgreSQL создавался исключительно как объектно-реляционное СУБД с открытым исходным кодом, при этом на голову обгоняющее некоторых титанов рынка.
Как установить PostgreSQL на Ubuntu
Установка и настройка PostreSQL в Ubuntu Linux довольно проста, но неочевидна для нового пользователя. В репозиториях Canonical изначально предусмотрена доступность необходимых пакетов, но для получения и установки наисвежайшей версии необходимо добавить в систему новый источник:
- В терминале выполните команду sudo sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main» >> /etc/apt/sources.list.d/pgdg.list’
- Подтвердите действие вводом пароля администратора.
- Следующей в установке командой будет wget -q https://www.postgresql.org/media/keys/ACCC4CFasc -O — | sudo apt-key add –
- Добавление завершено, нужно обновить список пакетов sudo apt update
- Для начала установки нужно вписать команду sudo apt install postgresql postgresql-contrib
- Введите большую букву “Д” для подтверждения согласия на установку.
- Установка завершена.
Данная инструкция актуальна и для установки PostgreSQL в Linux Mint, Elementary OS и других производных от Debian — дистрибутивах.
Настройка PostgreSQL на Ubuntu
После установки в Linux – PostgreSQL необходимо его настроить перед началом работы. Дело в том, что данное ПО использует способ аутентификации с привязкой ролей, в каком-то смысле похожую на таковую в Unix-подобных системах. По умолчанию при установке один пользователь уже указан в СУБД — это postgre, аналог root для Linux. Работа из-под его имени крайне не рекомендуется, если не требуется внести глобальных изменений. Так что первое, что нужно сделать из команд при установке, – это создать иную учетную запись.
Создание пользователя PostgreSQL в Ubuntu
- Откройте терминал и вбейте команду sudo su postgres Таким образом выполняется вход в учетную запись postgres Ubuntu стандартного пользователя.
- Зайдите в консоль управление командой psql .
- Укажите пароль для текущего пользователя \password postgres .
- Создайте новую роль, введя команду create user username with password ‘123qwe’. Предварительно замените username на желаемый логин и 123qwe на нужный пароль.
В примере роль с именем fotpc уже была создана, поэтому консоль вернула ошибку. В случае удачного создания, на ее месте будет надпись CREATE.
Новая база данных и передача прав
После появления нового пользователя первым делом нужно организовать базу данных и позволить ему редактировать ее. Для этого:
- Не выходя из терминала после предыдущих шагов, введите create database mybase ; mybase – название базы.
- Передайте права новому пользователю командой grant all privileges on database mybase to username.
- Готово, можно выходить из консоли \q.
На этом первоначальная настройка завершается, и можно переходить к рассмотрению списка базовых команд по управлению СУБД.
Команды PostgreSQL Linux
Основные команды для работы с данной СУБД для Ubuntu выглядят так:
- Запуск работы с СУБД — sudo su postgres.
- Переключение в консоль – psql.
- Переход на работу с базой от имени созданного пользователя — psql -h localhost mybase username.
- Создание простейшей таблицы о, например, роботах -.
CREATE TABLE Robots (
engine_ver int, вариация двигателя.
color_ver int, вариация цвета.
usab real, уровень удобства управления.
Просмотр таблиц — \d
Добавление данных выполняется в две команды:
INSERT INTO Robots (type, color,) VALUES (‘slide’, ‘blue’, ‘south’, ‘2018-01-15’);
INSERT INTO Robots (type, color,) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-01-15’);
Удаление – DELETE FROM playground WHERE type = ‘blue’.
Перезапуск Postgresql – из нового окна Терминала выполнить sudo service postgresql restart.
Команды для крайнего случая, переустановка PostgreSQL :
apt-get install postgresql
Удаление PostgreSQL с Ubuntu
После привычного удаления пакетов программ может остаться много ненужного. Чтобы не допустить этого, обычно применяется следующая последовательность команд для полного уничтожения всех принадлежащих СУБД данных:
sudo rm -r /var/lib/postgresql/
Установка и настройка PostgreSQL на Windows
Помимо Linux версии ПО, у проекта имеется версия, установка которой рассчитана под системы семейства Windows. Плюсом здешнего инсталлятора можно назвать встроенная возможность установки программы совместно с pgAdmin4 — графической оболочкой для общения с PostgreSQL. Чтобы осуществить установку пакета, необходимо:
- Перейти на официальный сайт проекта – https://www.postgresql.org/download/windows/
- На данной странице необходимо нажать Download the installer.
- Произойдет перенаправление на страницу компании, занимающейся подготовкой и распространением дистрибутива программы. Тут напротив версии продукта нужно нажать кнопку Download под верным наименованием операционной системы и ее разрядностью, после чего начнется загрузка postgresql client.
Требуется отыскать скачанный пакет и запустить его. При этом могут начать устанавливаться дополнительные библиотеки, такие как Microsft Visual C++, и после этих процессов появится главное окно PostgreSQL Installer, в котором нужно нажать Next.
Далее, установщик попросит указать директорию для распаковки файлов. Если это неважно, можно оставить все как есть и не вводить команды.
Следующее окно служит для выбора необходимых компонентов.
Теперь один из важнейших шагов – установка директории для хранения баз данных.
На данном экране необходимо указать и подтвердить пароль для подключения к базам.
Укажите порт, на котором будет функционировать PostgreSQL. Если это не принципиально, можно оставить по умолчанию.
Установка кодировки данных – рекомендуется оставить стандартную во избежание проблем в будущем.
Последние три окна – всего лишь подтверждение внесенных настроек и установка программы.
На завершающем этапе инсталлятор предложит запустить Stack Builder для доступа к расширениям функционала. Чаще всего этого не требуется, так что галочку следует убрать, после чего задать команду Finish.
Настройка
В отличие от Linux, версия ПО под Windows не требует редактировать файл конфигурации PostgreSQL через командную строку. Все взаимодействие с СУБД происходит через графический интерфейс. Для его запуска и начала настройки необходимо:
Найти и запустить в меню Пуск приложение pgAdmin 4.
С недавних пор pgAdmin работает через веб-интерфейс, и открывается через установленный в системе по умолчанию браузер.
Для того чтобы подключиться к локальному хранилищу, необходимо дважды щелкнуть левой кнопкой мыши по серверу PostgreSQL 11, спрятанному во вкладке Servers и ввести созданный на этапе установки пароль. Дабы система запомнила его, можно поставить галочку рядом с пунктом Save Password.
Для начала было бы хорошо сменить язык интерфейса. Это можно сделать специальной командой, зайдя в меню File – Preferences, отыскать там пункт User Language, сменить язык и нажать Ок. Если перевод не применился полностью, следует обновить страницу.
Нового пользователя можно внести командой при помощи правой кнопки мыши: по названию сервера переходом в пункт Роль входа/группы.
Введите желаемое имя, затем во вкладке справа включите все права.
Таблица
Создание таблиц и значений внутри пользовательского интерфейса гораздо проще, нежели чем работа в СУБД из-под Linux, и не вызовет вопросов у новичков, что положительно сказывается на продуктивности. Однако создание самой базы не столь очевидно. Для этого нужно раскрыть корневой каталог сервера, перейти в каталог с базами и создать новую через меню, вызываемое нажатием правой кнопки мыши.
Теперь внесите название базы, укажите владельца и, если нужно, внесите комментарий
В базе данных раскройте подпункт Схемы – Public. Найдите пункт Таблицы, нажмите правой кнопкой мыши и создайте таблицу.
Введите название, выберите владельца и нажмите Сохранить.
На этом настройка завершена.
Заключение
Как видно из статьи, установка и настройка PostgreSQL не такое сложное дело даже для новичка. Однако если опыта в этом деле нет, лучше придерживаться данного руководства, внимательно следуя шаг за шагом. В этом случае многих проблем можно избежать.
Источник