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

Материал из m6a
Перейти к: навигация, поиск
(Новая страница: «==Обслуживание== *Вывести список баз psql -U postgres -l *Создать базу данных createdb -U postgres -E UTF8 --loca…»)
 
(Обслуживание)
 
(не показано 5 промежуточных версий этого же участника)
Строка 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
 
==Обслуживание==
 
==Обслуживание==
 
*Вывести список баз
 
*Вывести список баз
Строка 6: Строка 41:
 
*Удалить базу данных
 
*Удалить базу данных
 
   dropdb -U postgres $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' ) ); "

Текущая версия на 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' ) ); "