Postgresql — различия между версиями

Материал из m6a
Перейти к: навигация, поиск
(Обслуживание)
 
Строка 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' ) ); "