Postgresql 9.2 Дома!

Я хотел создать замечательное, всеобъемлющее руководство по началу работы без каких-либо излишеств, но включающее в себя базовые полезные сведения для новичков в системе PostgreSQL в Linux. PostgreSQL — это объектно-реляционная система управления базами данных (ORDBMS), основанная на ПОСТГРЕС версии 4.2 , разработанный на факультете компьютерных наук Калифорнийского университета в Беркли.

PostgreSQL — это потомок исходного кода Беркли с открытым исходным кодом.

Он поддерживает большую часть стандартов SQL и предлагает множество современных функций:

Кроме того, PostgreSQL может расширяться пользователем разными способами, например, путем добавления новых
  • типы данных
  • функции
  • операторы
  • агрегатные функции
  • указатель методов
  • процедурные языки


Сборка и установка

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

Здесь Здесь Версий много, конечно лучше скачать самую последнюю.

На момент написания этого поста это версия 9.2.2.

  
  
  
  
  
  
  
  
  
  
   

wget http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.gz tar xzf postgresql-9.2.2.tar.gz

Теперь у нас есть каталог с исходниками этой замечательной базы данных.

По умолчанию файлы базы данных будут установлены в каталог /usr/local/pgsql, но этот каталог можно изменить, установив

--prefix=/path/to/pgsql

перед командой .

/configure Перед сборкой вы можете указать компилятор C++.



export CC=gcc

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

--without-readline

Я надеюсь, что это есть у всех Автоинструменты ? Тогда вперёд на сборку:

cd postgresql-9.2.2 .

/configure --without-readline sudo make install clean

Все господа! Поздравляем!

Настройки

Нам необходимо указать хранилище данных нашей базы данных (кластер) и запустить его.

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

Поэтому давайте создадим специального пользователя

sudo useradd postgres -p postgres -U -m

И тогда все ясно

sudo chown -R postgres:postgres /usr/local/pgsql

Важный процесс.

Мы должны инициализировать кластер базы данных.

Мы должны сделать это от имени пользователя postgres.

initdb -D /usr/local/pgsql/data

Теперь нужно добавить в автозапуск запуск PostgreSQL. Для этого есть готовый скрипт и он находится в postgresql-9.2.2/contrib/start-scripts/linux Вы можете открыть этот файл и обратить внимание на следующие переменные:

  • префикс — это место, куда мы установили PostgreSQL и указали его в .

    /configure

  • ПГДАТА — здесь хранится кластер базы данных и куда наш пользователь postgres должен иметь доступ
  • PGUSER - это тот самый пользователь, от имени которого все будет работать
Если все правильно, то добавляем наш скрипт в init.d

sudo cp .

/postgresql-9.2.2/contrib/start-scripts/linux /etc/init.d/postgres sudo update-rc.d postgres defaults

Перезапускаем систему, чтобы проверить работу нашего скрипта.

Входить

/usr/local/pgsql/bin/psql -U postgres

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

/usr/local/pgsql/data/pg_hba.conf содержит необходимые для этого настройки

# TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust

Первая строка отвечает за локальное соединение, вторая — за соединение IPv4, третья — за протокол IPv6. Самый последний параметр — это как раз метод авторизации.

Давайте рассмотрим (только основные)

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

  • отклонять - отказаться безоговорочно! Подходит для фильтрации определенных IP-адресов.

  • пароль - требует пароль.

    Не подходит для локальных пользователей, только пользователи, созданные с помощью команды CREATE USER.

  • личность — позволяет только пользователю, зарегистрированному в файле /usr/local/pgsql/data/pg_ident.conf, устанавливать соединение с базой данных.

Коротко расскажу об основных утилитах, которые пригодятся в вашей работе.



Утилиты для работы с базой данных



pg_config
Возвращает информацию об установленной в данный момент версии PostgreSQL.

initdb
Инициализирует новое хранилище данных (кластер базы данных).

Кластер — это совокупность баз данных, управляемых одним экземпляром сервера.

initdb должен быть запущен от имени будущего владельца сервера (как указано выше как postgres).



pg_ctl
Управляет процессом сервера PostgreSQL. Позволяет запускать, перезапускать, останавливать сервер, указывать файл журнала и многое другое.



psql
Клиент для работы с базой данных.

Позволяет выполнять операции SQL.

созданоb
Создает новую базу данных.

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

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

По сути, это SQL-оболочка для команды CREATE DATABASE.

DropDB
Удаляет базу данных.

Это SQL-оболочка для команды DROP DATABASE.

Создать пользователя
Добавляет нового пользователя базы данных.

Это SQL-оболочка для команды CREATE ROLE.

Dropuser
Удаляет пользователя базы данных.

Это SQL-оболочка для команды DROP ROLE.

Создатьланг
Добавляет новый язык программирования в базу данных PostgreSQL. Это SQL-оболочка для команды CREATE LANGUAGE.

дропланг
Удаляет язык программирования.

Это SQL-оболочка для команды DROP LANGUAGE.

pg_dump
Создает резервную копию (дамп) базы данных в файл.



pg_restore
Восстанавливает резервную копию базы данных (дамп) из файла.



pg_dumpall
Создает резервную копию (дамп) всего кластера в файл.



переиндексдб
Переиндексирует базу данных.

Это SQL-оболочка для команды REINDEX.

кластерная база данных
Перекластеризует таблицы в базе данных.

Это SQL-оболочка для команды CLUSTER.

вакуумдб
Сборщик мусора и оптимизатор базы данных.

Это SQL-оболочка для команды VACUUM.

Менеджеры баз данных

Что касается менеджера по работе с базой данных, то есть php-менеджер phpPgAdmin и менеджер графического интерфейса pgAdmin .

Должен отметить, что они оба плохо поддерживают последнюю версию PostgreSQL. P.S Если я что-то забыл, скажите, и я добавлю.

Теги: #postgresql #postgresql

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.