ПредишенСледващото

PostgreSQL: насочи към командването на psql, pg_dump, pg_restore

Всички команди се изпълняват в рамките на Postgres UNIX потребител (PostgreSQL-корен). За да превключите на потребителя Postgres, използвайте командата:

  • psql -l - списък с бази данни.
  • psql -d DBNAME - да се свърже с име на база данни.
  • psql -f file.sql - изпълнява команди от file.sql файл.
  • psql -u Postgres -d DBNAME -c "CREATE TABLE тест (some_id сериен основен ключ, some_text текст);" - изпълнение на командата в име на база данни.
  • psql -d DBNAME -Н-с "SELECT * FROM тест" -o test.html - резултатите от заявката, сключени в HTML-файл.

psql> Изберете име, създаване ОТ КЪДЕ pg_settings категория = 'File Места ";

# Или списък на всички конфигурационни параметри

psql> покажи всички;

Списък на активните вещества с информация за: PID на процеса на подаване на молбата, в базата данни на потребителя.

psql> SELECT * ОТ pg_stat_activity;

psql> ALTER ТАБЛИЦА tableName ADD първичен ключ (Id);

psql> CREATE уникален индекс indexName ON tableName (COLUMNNAMES);

  • \ C DBNAME - да се свърже с име на база данни.
  • \ L - списък на бази данни.
  • \ Dt - списък на всички маси.
  • \ D маса - маса за структура.
  • \ Du - списък на всички потребители и техните привилегии.
  • \ Dt + - списък на всички маси с описанието.
  • \ Dt * е * - списък на всички маси, съдържащи и в името.
  • \ Подам - ​​изпълнява команди от файл.
  • \ O ФАЙЛ - запазите резултата от заявка за файл.
  • \ A - превключване между режими на дисплея: със / без изравняване.

Архивиране и възстановяване Маси

В PostgreSQL, има две помощни програми за архивиране pg_dump и pg_dumpall. pg_dump се използва за архивиране на база данни, pg_dumpall да направите резервно копие на всички бази данни и сървъри като цяло (да се движат в рамките на PostgreSQL-корен).

Създаване на резервно копие на базата данни mydb. в съкратен вид:

pg_dump -h Localhost -p 5432 -U someuser -F в -b -v -f mydb.backup mydb

Създаване на резервно копие на базата данни mydb. в обикновен текстов файл, в това число на командата за създаване на базата данни:

pg_dump -Н Localhost -р 5432 -U someuser -С -F р-Ь -v -f mydb.backup mydb

Създаване на резервно копие на базата данни mydb. в компресиран формат, с маси, които съдържат името на плащанията:

pg_dump -h Localhost -p 5432 -U someuser -F в -b -v -t * * плащания -f payment_tables.backup mydb

Разтоварване на данни е само една определена маса. Ако искате да направите резервно копие на няколко маси, имената на тези таблици са изброени с -t ключа за всяка таблица.

pg_dump -a -t таблица_име -f име_файл database_name

Създайте резервно копие с компресия в GZ:

pg_dump -h Localhost -О -F р--U Postgres mydb | софтуерна -C> mydb.gz

Списъкът на най-често използваните опции:

  • -з-домакин - домакин, ако не е посочено тогава Localhost или стойността на променливата PGHOST среда.
  • -р пристанище - порт, ако не е посочено, тогава 5432 или стойността на променливата PGPORT среда.
  • -ф - потребителят, ако не е определено след това на текущия потребител, както и стойността може да бъде определено в променлива PGUSER среда.
  • -а, --data само - данни сметища само данните по подразбиране се съхраняват и на веригата.
  • -б - включва изхвърлят големи обекти (blog'i).
  • -ите, --schema само - само зареже схема.
  • -С --create - добавя команда за създаване на база данни.
  • -в - се добавят команди за да се отстранят (спад) на обекти (таблици, изгледи и т.н.).
  • -O - не добавяйте команди за задаване на собственика на обекта (таблици, изгледи и т.н.).
  • -F, --format - зареже изходен формат, обичай, катрани, или обикновен текст.
  • -т, --table = ТАБЛИЦА - показва специфична маса на сметището.
  • -о, --verbose - Показва подробна информация.
  • -D, --attribute вложки - самосвали с помощта на командата INSERT с списъка с имена на собственост.

Архивиране на всички бази данни посредством командата pg_dumpall:

pg_dumpall> all.sql

Впиши "^ [\] свързване" all.sql

В PostgreSQL, има две комунални услуги за възстановяване на базата данни от резервно копие.

  • psql - възстановяване на резервни копия, които се съхраняват в обикновен текстов файл (обикновен текст);
  • pg_restore - възстановяване на компресирани архиви (катран);

Възстановяване на цялото архивиране игнориране грешки:

psql -h Localhost -U someuser -d DBNAME -f mydb.sql

Възстановяване на цялата архива със стоп при първата грешка:

psql -Н Localhost -U someuser --set ON_ERROR_STOP = -f на mydb.sql

За възстановяване на катран -arihiva ние трябва първо да се създаде база данни с помощта на поддържа база данни mydb; (Ако създадете резервно копие не е -C опция е налична) и възстановяване:

pg_restore --dbname = mydb --jobs = 4 --verbose mydb.backup

Възстановяване на резервната база данни, компресирани GZ:

psql -u Postgres -d mydb -f mydb

Започвайки с просто структурата на таблицата може да се възстанови с помощта на версия 9.2 --section възможности:

CREATE DATABASE mydb2;

pg_restore --dbname = mydb2 --section = предварително данни --jobs = 4 mydb.backup

ВАКУУМ ANALYZE маса;

Подкрепете проекта - споделете линка, благодаря!