Postgresql — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (→Обслуживание) |
Vshpagin (обсуждение | вклад) (→Обслуживание) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | ==Установка== | ||
+ | *Распакуем архив | ||
+ | tar -xvjf postgresql_9.6.6_1.1C_amd64_deb.tar.bz2 | ||
+ | *Перейдем в папку с распакованным архивом | ||
+ | cd postgresql-9.6.6-1.1C_amd64_deb/ | ||
+ | *Установим вспомогательную библиотеку | ||
+ | dpkg -i libpq5_9.6.6-1.1C_amd64.deb | ||
+ | *Установим стандартные компоненты | ||
+ | apt-get -y install libicu55 postgresql-common plperl plpython plpython3 pltcl test devel docs | ||
+ | *Установим клиент | ||
+ | dpkg -i postgresql-client-9.6_9.6.6-1.1C_amd64.deb | ||
+ | *Установим сервер | ||
+ | dpkg -i postgresql-9.6_9.6.6-1.1C_amd64.deb | ||
+ | *Установим дополнительный модуль | ||
+ | dpkg -i postgresql-contrib-9.6_9.6.6-1.1C_amd64.deb | ||
+ | *Остановим сервер | ||
+ | service postgresql stop | ||
+ | *Удалим стандартное месторасположение БД | ||
+ | rm -rf /var/lib/postgresql/9.6/main/* | ||
+ | *Отредактируем настройки сервера | ||
+ | vi /etc/postgresql/9.6/main/postgresql.conf | ||
+ | *Установим слеющие значения | ||
+ | data_directory = '/var/lib/pgsql' | ||
+ | *Отредактируем права доступа к серверу | ||
+ | vi /etc/postgresql/9.6/main/pg_hba.conf | ||
+ | *Установим следующие значения | ||
+ | local all postgres trust | ||
+ | *Создадим новое месторасположение БД | ||
+ | mkdir /var/lib/pgsql | ||
+ | *Зададим права доступа на новое место расположение | ||
+ | chown -R postgres:postgres /var/lib/pgsql | ||
+ | *Создадим инстанс в новом месторасположении | ||
+ | sudo -u postgres /usr/lib/postgresql/9.6/bin/initdb -D /var/lib/pgsql --locale=ru_RU.UTF-8 | ||
+ | *Запустим сервер | ||
+ | service postgresql start | ||
==Обслуживание== | ==Обслуживание== | ||
*Вывести список баз | *Вывести список баз | ||
Строка 7: | Строка 42: | ||
dropdb -U postgres $database | dropdb -U postgres $database | ||
*Создать резервную копию базы данных | *Создать резервную копию базы данных | ||
− | pg_dump -U postgres $database --format custom --blobs --section pre-data | + | pg_dump -U postgres $database --format custom --blobs --section pre-data |
--section data --section post-data --encoding UTF8 --verbose --file $pathToBackup | --section data --section post-data --encoding UTF8 --verbose --file $pathToBackup | ||
*Восстановить базу данных из резервной копии | *Восстановить базу данных из резервной копии | ||
− | pg_restore -U postgres --dbname $database --role "postgres" --no-password | + | pg_restore -U postgres --dbname $database --role "postgres" --no-password |
--section pre-data --section data --section post-data $pathToBackup | --section pre-data --section data --section post-data $pathToBackup | ||
+ | *Узнать размер базы данных | ||
+ | psql -U postgres -c "SELECT pg_size_pretty( pg_database_size( '$database' ) ); " |
Текущая версия на 10:26, 16 ноября 2019
Установка
- Распакуем архив
tar -xvjf postgresql_9.6.6_1.1C_amd64_deb.tar.bz2
- Перейдем в папку с распакованным архивом
cd postgresql-9.6.6-1.1C_amd64_deb/
- Установим вспомогательную библиотеку
dpkg -i libpq5_9.6.6-1.1C_amd64.deb
- Установим стандартные компоненты
apt-get -y install libicu55 postgresql-common plperl plpython plpython3 pltcl test devel docs
- Установим клиент
dpkg -i postgresql-client-9.6_9.6.6-1.1C_amd64.deb
- Установим сервер
dpkg -i postgresql-9.6_9.6.6-1.1C_amd64.deb
- Установим дополнительный модуль
dpkg -i postgresql-contrib-9.6_9.6.6-1.1C_amd64.deb
- Остановим сервер
service postgresql stop
- Удалим стандартное месторасположение БД
rm -rf /var/lib/postgresql/9.6/main/*
- Отредактируем настройки сервера
vi /etc/postgresql/9.6/main/postgresql.conf
- Установим слеющие значения
data_directory = '/var/lib/pgsql'
- Отредактируем права доступа к серверу
vi /etc/postgresql/9.6/main/pg_hba.conf
- Установим следующие значения
local all postgres trust
- Создадим новое месторасположение БД
mkdir /var/lib/pgsql
- Зададим права доступа на новое место расположение
chown -R postgres:postgres /var/lib/pgsql
- Создадим инстанс в новом месторасположении
sudo -u postgres /usr/lib/postgresql/9.6/bin/initdb -D /var/lib/pgsql --locale=ru_RU.UTF-8
- Запустим сервер
service postgresql start
Обслуживание
- Вывести список баз
psql -U postgres -l
- Создать базу данных
createdb -U postgres -E UTF8 --locale=ru_RU.UTF-8 $database
- Удалить базу данных
dropdb -U postgres $database
- Создать резервную копию базы данных
pg_dump -U postgres $database --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 --verbose --file $pathToBackup
- Восстановить базу данных из резервной копии
pg_restore -U postgres --dbname $database --role "postgres" --no-password --section pre-data --section data --section post-data $pathToBackup
- Узнать размер базы данных
psql -U postgres -c "SELECT pg_size_pretty( pg_database_size( '$database' ) ); "