Postgresql — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) |
Vshpagin (обсуждение | вклад) (→Обслуживание) |
||
Строка 47: | Строка 47: | ||
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' ) ); "