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 маса;