Есть такие инструкции, которые я делаю для себя в качестве шпаргалки. Это одна из таких. Если она поможет кому-то ещё — буду только рад. Я покажу как сделать подключение к базе данных PostgreSQL из консоли сервера. Конечно, эта БД не так распространена, как всем известная MySQL. Но благодаря некоторым существенным преимуществам, она тоже используется достаточно часто и многим системным администраторам больше нравится именно Постгрес. Мне часто приходится работать и с тем и с другим, но чаще, конечно же с Майскул.
Как подключиться к БД PostgreSQL:
Чтобы выполнить подключение к базе данных Постгре SQL, введите команду:
# psql -U postgres
Таким образом Вы сможете запустить консоль PostgreSQL с правами суперпользователя — postgres.
Основные команды:
Все внутренние команды, не являющиеся операторами БД, начинаются с косой черты — «\».
Чтобы получить список баз данных сервера введите команду:
# \l
Выбрать базу данных можно так:
# \с dbname
Здесь dbname — это имя нужно базы данных.
Получаем список таблиц в текущей базе данных PostgreSQL:
# \dt
Если добавить в конце значок «+», чтобы команда выглядела так: \dt+, то будет выведен расширенный список таблиц с описанием.
Структура таблицы table:
# \d table
Переключение между режимами вывода:
# \a
Индексы:
# \di
Представления:
# \dv
Последовательности:
# \ds
Системные таблицы:
# \dS
Чтение входящих данных из файла:
# \i
Вывод результатов запроса в файл:
# \o
Настройка параметров форматирования:
# \pset
Вывод сообщений:
# \echo
Установка переменных среды:
# \set
Справочник psql:
# \?
Справка команд SQL:
# \help
Выход из консоли:
# \q
Чтобы удалить все таблицы, в командной строке сервера вводим команду:
# psql -U postgresql-user -d postgresql-db -f /tmp/droptables
Снятие дампа БД PostgreSQL:
# pg_dump -c -h localhost -U myuser mydatabase > ./mydump.sql
Вот тот же вариант с IP вместо имени хоста:
# pg_dump -c -h 192.168.0.1 -U myuser mydatabase > ./dump.sql
Создание резервной копии с сжатием в gz:
# pg_dump -h localhost -O -F p -c -U myuser mydatabase | gzip -c > mydb.gz
Дамп данных только одной, конкретной таблицы:
# pg_dump -h localhost -U myuser -F c -b -v -t *pay* -f pay_tables.backup mydb
Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц перечисляются с помощью ключа -t для каждой таблицы:
# pg_dump -a -t table_name -f file_name database_name
Восстановление из резервной копии:
# cat dump.sql | psql -h localhost mydatabase myuser
Импорт в PostgreSQL делается следующим образом:
# psql -h localhost -U username dbname < dump.sql
Конфигурационные файлы PostgreSQL находятся в:
# mcedit /var/lib/postgresql/8.4/data/postgresql.conf
# mcedit /var/lib/postgresql/8.4/data/pg_hba.conf
Чтобы получить список баз данных сервера введите команду:
# \l
а как выйти потом из режима просмотра?))
На «q» не реагирует?