No Image

Как запустить postgresql ubuntu

СОДЕРЖАНИЕ
760 просмотров
16 декабря 2019

PostgreSQL — свободная система управления различными базами данных, реализованная для разных платформ, включая Windows и Linux. Инструмент поддерживает большое количество типов данных, имеет встроенный скриптовый язык и поддерживает работу с применением классических языков программирования. В Ubuntu PostgreSQL устанавливается через «Терминал» с использованием официальных или пользовательских хранилищ, а уже после этого проводятся подготовительные работы, тестирование и создание таблиц.

Устанавливаем PostgreSQL в Ubuntu

Базы данных применяются в самых разных областях, а вот комфортное управление ими обеспечивает система управления. Многие юзеры останавливаются на PostgreSQL, инсталлируют ее в свою ОС и приступают к работе с таблицами. Далее мы бы хотели пошагово описать весь процесс установки, первого запуска и настройки упомянутого инструмента.

Шаг 1: Установка PostgreSQL

Конечно, начать следует с добавления всех необходимых файлов и библиотек в Ubuntu для обеспечения нормального функционирования PostgreSQL. Осуществляется это с применением консоли и пользовательских либо официальных хранилищ.

  1. Запустите «Терминал» любым удобным способом, например, через меню или зажатием комбинации клавиш Ctrl + Alt + T.

Сначала отметим пользовательские хранилища, поскольку туда обычно в первую очередь выгружают самые свежие версии. Вставьте в поле команду sudo sh -c ‘echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list’ , а затем нажмите на Enter.

Введите пароль от своей учетной записи.

Осталось только обновить системные библиотеки стандартной командой sudo apt-get update .

Если же вы заинтересованы в получении последней доступной версии PostgreSQL из официального репозитория, требуется написать в консоли sudo apt-get install postgresql postgresql-contrib и подтвердить добавление файлов.

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

Шаг 2: Первый запуск PostgreSQL

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

    Введите команду sudo su — postgres и нажмите на Enter. Такое действие позволит вам перейти к управлению от лица созданной по умолчанию учетной записи, которая на текущий момент выступает в роли основной.

Вход в консоль управления под видом используемого профиля осуществляется через psql . Разобраться с окружением вам поможет активация help — это покажет все доступные команды и аргументы.

Просмотр информации о текущем сеансе PostgreSQL выполняется через conninfo .

Выйти из окружения поможет команда q .

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

Шаг 3: Создание пользователя и базы данных

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

    Находясь в консоли под управлением профиля postgres (команда sudo su — postgres ), напишите createuser —interactive , а затем задайте ему подходящее имя, вписав символы в соответствующую строку.

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

Базу данных лучше назвать таким же именем, как была названа учетная запись, поэтому стоит использовать команду createdb lumpics , где lumpics — имя пользователя.

Переход к работе с указанной базой данных происходит через psql -d lumpics , где lumpics — название БД.

Шаг 4: Создание таблицы и работа со строками

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

    После перехода к базе введите такой код:

CREATE TABLE test (
equip_id serial PRIMARY KEY,
type varchar (50) NOT NULL,
color varchar (25) NOT NULL,
location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)),
install_date date
);

Сначала указывается имя таблицы test (вы можете выбрать любое другое название). Далее описывается каждый столбец. Мы выбрали названия type varchar и color varchar только для примера, вам же доступно указание любого другого, но только с применением латинских символов. Цифры в скобках отвечают за размер столбца, что напрямую связано с помещающимися туда данными.
После ввода остается только вывести таблицу на экран с помощью d .

Вы видите простой проект, не содержащий в себе пока никакой информации.

Новые же данные добавляются через команду INSERT INTO test (type, color, location, install_date) VALUES (‘slide’, ‘blue’, ‘south’, ‘2018-02-24’); Сначала указывается название таблицы, в нашем случае это test, затем перечисляются все столбцы, а в скобках указываются значения, обязательно в кавычках.

Далее можете добавить еще одну строку, например, INSERT INTO test (type, color, location, install_date) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-02-24’);

Запустите таблицу через SELECT * FROM test; , чтобы оценить результат. Как видите, все расположилось правильно и данные внесены верно.

Если же вам потребуется удалить какое-либо значение, делайте это через команду DELETE FROM test WHERE type = ‘slide’; , указав в кавычках нужное поле.

Шаг 5: Установка phpPgAdmin

Не всегда управление БД легко выполняется через консоль, поэтому лучше всего модернизировать ее, установив специальный графический интерфейс phpPgAdmin.

    Первоочередно через «Терминал» загрузите последние обновления для библиотек через sudo apt-get update .

Установите веб-сервер Apache sudo apt-get install apache2 .

После инсталляции протестируйте его работоспособность и корректность синтаксиса с помощью sudo apache2ctl configtest . Если что-то пошло не так, ищите ошибку по описанию на официальном сайте Apache.

Запустите сервер, введя sudo systemctl start apache2 .

Теперь, когда обеспечено корректное функционирование сервера, можно добавить библиотеки phpPgAdmin, загрузив их с официального хранилища через sudo apt install phppgadmin .

Далее следует немного изменить конфигурационный файл. Откройте его через стандартный блокнот, указав gedit /etc/apache2/conf-available/phppgadmin.conf . Если документ доступен только для чтения, потребуется в команде перед gedit указать еще и sudo .

Перед строкой «Require local» поставьте # , чтобы переделать ее в комментарий, а снизу введите Allow From all . Теперь доступ к адресу будет открыт для всех устройств сети, а не только для локального ПК.

Перезапустите веб-сервер sudo service apache2 restart и можете смело переходить к работе с PostgreSQL.

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

Отблагодарите автора, поделитесь статьей в социальных сетях.

Тестировалось и работает на Ubuntu Linux (10.04 — 16.04 x86, x86_64) и PostgreSQL 8.4 — 9.4, но оно также должно быть применимо для более старых версий (Ubuntu и PostgreSQL) и других Debian-based дистрибутивов.
Для базовой установки в командной строке введите следующие команды (или найдите перечисленные пакеты в синаптике, если вы предпочитаете работать с ним):

Оговорюсь сразу, что статья написана под 8.4. У кого более поздние версии, вам придется немного подправить пути.

sudo apt-get install postgresql postgresql-client postgresql-contrib

Если Вы устанавливаете на локальный компьютер или на сервер, где установлены иксы, то для администрирования можно установить Pgadmin:

sudo apt-get install pgadmin3

Эти команды установят сервер и клиент БД, некоторые дополнительные скрипты и графическую утилиту pgAdmin для работы с БД.
Теперь нам необходимо переустановить пароль админского аккаунта ‘postgres’ сервера, чтобы мы могли использовать его для задач системного администрирования. Введите в командной строке (подставьте вместо password пароль, который вы хотите использовать):

sudo su postgres -c psql postgres

postgres=# ALTER USER postgres WITH PASSWORD ‘сюда_записываем_нужный_вам_пароль’;
postgres=# q

Эти команды изменяют пароль внутри БД, теперь нам необходимо сделать тоже самое с unix пользователем ‘postgres’, замечу что пароли должны быть одинаковы:

sudo passwd -d postgres

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

sudo su postgres -c passwd

Введите тот же пароль, который вы использовали в прошлый раз.
Теперь мы можем использовать и программу pgAdmin, и консольный клиент (от пользователя postgres), чтобы работать с сервером БД. Но, перед запуском pgAdmin, мы должны установить админский пакет PostgreSQL, который включит лучшее логгирование и мониторинг в pgAdmin. Запустите следующую команду:

sudo postgres -c psql /usr/share/postgresql/8.4/contrib/adminpack.sql *

Наконец, нам необходимо настроить сервер для работы в сети, иначе он будет доступен только с локальной машины. Чтобы сделать это, сначала необходимо отредактировать в консоли postgresql.conf:

sudo nano /etc/postgresql/8.4/main/postgresql.conf
listen_addresses = ‘localhost’
listen_addresses = ‘*’

И снимаем комментарий с

port = 5432

Сохраните файл нажав Ctrl +X .
Последний шаг — мы должны определить, кто должен иметь доступ к серверу. Это настраивается с помощью файла pg_hba.conf file. (Этот шаг можно также сделать с помощью последних версий pgAdmin (1.6.x), плюс вам даже нет необходимости вычислять IP адреса и маски подсетей. Но это не исключает необходимости знать, как это работает.)

sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Пример рабочего конфига:

sudo /etc/init.d/postgresql-8.4 restart

Установка словарей PostgreSQL для русского полнотекстового поиска.

Словари можно скачать отсюда http://wiki.services.openoffice.org/wiki/Dictionaries#Russian_.28Russia.29
Скачиваете файл Ru_ru.zip, разархивируете и закидываете к себе файлы ru_RU.dic и ru_RU.aff
Словари в кодировке koi8 для работы с postgresql надо преобразовать в utf-8
Для этого на хосте выполняете команду

iconv -f koi8-r -t utf-8 /usr/share/postgresql/8.4/tsearch_data/russian.affix
iconv -f koi8-r -t utf-8 /usr/share/postgresql/8.4/tsearch_data/russian.dict
iconv -f koi8-r -t utf-8 /usr/share/postgresql/8.4/tsearch_data/english.affix
iconv -f koi8-r -t utf-8 /usr/share/postgresql/8.4/tsearch_data/english.dict

Эта команда преобразовывает кодировку словарей, переименовывает их и копирует в нужную папку. Пути зависят от установки. Найдите у себя папку tsearch_data , которая содержит словари, ее и пропишите.

Теперь создаем полнотекстовую конфигурацию для работы с русским (ну и английским) Посылаете запросы к postgresql

CREATE TEXT SEARCH DICTIONARY russian_ispell (
TEMPLATE = ispell,
DictFile = russian,
AffFile = russian,
StopWords = russian
);
CREATE TEXT SEARCH CONFIGURATION ru ( COPY = russian );

CREATE TEXT SEARCH DICTIONARY english_ispell (
TEMPLATE = ispell,
DictFile = english,
AffFile = english,
StopWords = english
);

CREATE TEXT SEARCH CONFIGURATION en ( COPY = russian );

ALTER TEXT SEARCH CONFIGURATION ru ALTER MAPPING FOR hword, hword_part, word WITH russian_ispell, russian_stem;
ALTER TEXT SEARCH CONFIGURATION ru ALTER MAPPING FOR asciihword, asciiword, hword_asciipart WITH english_ispell, english_stem;

Чтобы эта полнотекстовая конфигурация работала по умолчанию прописываете в postgresql.conf

default_text_search_config = ‘ru ‘

Ну или можете в каждой сессии посылать команду
SET default_text_search_config = ‘ru’;

select to_tsvector(‘ru’, ‘мама мыла раму’);
to_tsvector
————————————-
‘мама’:1 ‘мыло’:2 ‘мыть’:2 ‘рама’:3
(1 запись)

Полнотекстовая конфигурация работает.
Если вы хотите использовать данный сервер в связке apache2 + php5 + postgresql, то вам необходимо установить следующие пакеты:

sudo apt-get install apache2 libapache2-mod-php5 php5 php5-common php5-gd php5-pgsql

Прошло немного времени и понадобился скриптик который будет делать бекапы баз. И так создаем каталог для бекапов:

mkdir /home/backup

Создаем скрипт с таким содержимым:

#!/bin/bash
logfile=»/home/backup/pgsql.log»
backup_dir=»/home/backup»
touch $logfile
databases=`psql -h localhost -U postgres -q -c «l» | sed -n 4,/eof/p | grep -$
echo «Starting backup of databases » >> $logfile
for i in $databases; do
dateinfo=`date ‘+%Y-%m-%d %H:%M:%S’`
timeslot=`date ‘+%Y%m%d%H%M’`
/usr/bin/vacuumdb -z -h localhost -U postgres $i >/dev/null 2>&1
/usr/bin/pg_dump -U postgres -i -F c -b $i -h 127.0.0.1 -f $backup_dir/$i-datab$
echo «Backup and Vacuum complete on $dateinfo for database: $i » >> $logfile
done
echo «Done backup of databases » >> $logfile
tail -15 /home/backup/pgsql.log | mailx admin@youdomain.ru

Вешаем на него права:

chmod +x backup.sh

Запускать скрипт можно ручную, а кому лениво можно кроном, например каждый понедельник в 3 часа ночи:

00 3 * * 1 root /путь_до_скрипта/backup.sh

Дамп базы base1 в файл архива dump.tar.gz

pg_dump -h localhost -U base1 -F c -f dump.tar.gz base1

Загрузка архива дампа dump.tar.gz в базу vhsup

pg_restore -h localhost -U base1 -F c -d base1 dump.tar.gz
psql -d base1 -f /share/BackUPs/PostgreSQL/base1.sql

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

sysctl -w kernel.shmmax=17179869184
sysctl -w kernel.shmall=4194304
sysctl -w kernel.shmmax=8589934592
sysctl -w kernel.shmall=4194304

Настройки лучше сохранить в /etc/sysctl.conf для их применения после перезагрузки:

kernel.shmmax=17179869184
kernel.shmall=4194304

В древних дистрибутивах может не оказаться программы sysctl, тогда внесите изменения:

echo 17179869184 >/proc/sys/kernel/shmmax
echo 4194304 >/proc/sys/kernel/shmall

Для оптимизации PostgreSQL существует утилита pgtune. Её можно установить и собрать оптимальный файл конфигурации, и если он не противоричит вашим моральным принципам, можете им заменить ваш рабочий файл конфигурации.

Введение

PostgreSQL (произносится как «Пост-Грес-Кью-Эл») — свободная современная СУБД с широкими возможностями. Её используют такие компании, как Alibaba, Instagram, Skype, Yahoo и многие другие. Это говорит о надёжности системы, и при этом она является простой в установке, использовании и обслуживании. Поверхностно ознакомиться с ней можно по статье в Википедии: https://ru.wikipedia.org/wiki/PostgreSQL

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

Рассмотрим установку и настройку на примере Ubuntu 16.04 64bit.

Технические требования

• Пользователь с sudo-правами
• Ubuntu 16.04

Шаг 1. Выбор источника для установки

PostgreSQL является очень популярным сервером баз данных, поэтому присутствует в официальных репозиториях Ubuntu. Однако в PPA разработчиков PostgreSQL можно найти самую свежую версию. Например, на момент написания данной инструкции в репозитории Ubuntu имеется PostgreSQL 9.5, а из PPA можно установить 9.6. Если у вас нет потребности в самых последних возможностях данной СУБД, то текущий шаг можно пропустить. Иначе добавьте репозиторий PostgreSQL в системный список источников:

и добавьте для него ключ

Это позволит при обновлении пакетов получать наиболее свежие версии.

Шаг 2. Установка PostgreSQL

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

Эта команда произведёт обновление индекса, что позволит устанавливать свежие и актуальные пакеты.

Установка PostgreSQL из официальных репозиториев и из PPA производится одинаково. Загрузим и установим пакеты PostgreSQL и contrib (contrib предоставляет некоторый дополнительный функционал и утилиты):

Шаг 3. Подключение к серверу баз данных

Во время установки программы в системе автоматически была создана учётная запись администратора баз данных — postgres. На данном этапе доступ к системе баз данных можно получить только через неё.
Вы можете либо переключиться в сессию учётной записи postgres и запустить там оболочку программы:

либо запустить оболочку от имени postgres без переключения сессии:

Попав тем или иным способом в командную строку psql, вам необходимо знать, как из неё выйти. Это можно сделать с помощью ввода команды выхода:

(сокращение от quit).

Шаг 4. Создание новой роли

Если вы производили установку по инструкции, то к этому моменту в вашей СУБД есть только одна роль — postgres. Рекомендуется не использовать данную роль для работы со своими базами данных, а создавать для каждой базы новую роль (или несколько при необходимости). Для создания новой роли предусмотрены два стандартных способа:

  1. интерактивный режим, в котором достаточно ответить на несколько простых вопросов;
  2. команда для создания роли через командную строку СУБД.

Мы не будем подробно останавливаться на интерактивном режиме, так как создать роль, которая полностью удовлетворяет требованиям в большинстве случаев, мы можем всего одной простой командой (перед этим нужно находиться в режиме командной строки как было описано на Шаге 3). Не забудьте заменить username на желаемое имя пользователя, а password — на пароль для этого пользователя:

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

Шаг 5. Создание базы данных

Находясь в режиме командной строки psql, создать базу данных мы можем командой create database и указав название базы данных. Например, чтобы воздать БД с именем vscale_db, выполните команду:

Шаг 6. Назначение прав

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

где vscale_db — название базы данных, выбранное на шаге 5, а username — имя пользователя, заданное на шаге 4.

Вся минимально требующаяся предварительная настройка завершена. Вы можете выйти из psql, введя «q».

Шаг 7. Аутентификация и начало работы с базой данных

К текущему моменту у вас есть всё необходимое для начала работы с базой данных. Чтобы подключиться к ней, запустите psql с параметрами: хост «-h localhost» (так как подключаемся к локальной базе данных), название БД «vscale_db» и имя пользователя «username»:

После этого вы сможете взаимодействовать с вашей базой данных: создавать таблицы, созранять в них информцию, делать выборки и т.д.

Заключение

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

Создание пользователя, базы данных и назначение прав:

«>

Комментировать
760 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев