- Подключение к БД PostgreSQL из консоли
- 📑 Шпаргалка по основным командам PostgreSQL
- Основные команды PostgreSQL в интерактивном режиме:
- Работа с PostgreSQL из командной строки:
- Примеры:
- Утилиты (программы) PosgreSQL:
- Примеры создания резервных копий:
- Список наиболее часто используемых опций:
- Восстановление таблиц из резервных копий (бэкапов):
- Работаем с PostgreSQL через командную строку в Linux
- Установка PostgreSQL на Linux (Mint)
- PostgreSQL Подключение, Пользователи (Роли) и Базы Данных
- PostgreSQL создание новой роли и базы данных
- Включить удаленный PostgreSQL доступ для пользователей
- Полезные команды PostgreSQL
- Выбор shema psql в консоли:
- Sequences
- Подключение к базе данных PostgreSQL в Linux, Windows
- Подключитесь к PostgreSQL из командной строки
Подключение к БД PostgreSQL из консоли
Есть такие инструкции, которые я делаю для себя в качестве шпаргалки. Это одна из таких. Если она поможет кому-то ещё — буду только рад. Я покажу как сделать подключение к базе данных PostgreSQL из консоли сервера. Конечно, эта БД не так распространена, как всем известная MySQL. Но благодаря некоторым существенным преимуществам, она тоже используется достаточно часто и многим системным администраторам больше нравится именно Постгрес. Мне часто приходится работать и с тем и с другим, но чаще, конечно же с Майскул.
Как подключиться к БД PostgreSQL:
Чтобы выполнить подключение к базе данных Постгре SQL, введите команду:
Таким образом Вы сможете запустить консоль PostgreSQL с правами суперпользователя — postgres.
Основные команды:
Все внутренние команды, не являющиеся операторами БД, начинаются с косой черты — «\».
Чтобы получить список баз данных сервера введите команду:
Выбрать базу данных можно так:
Здесь dbname — это имя нужно базы данных.
Получаем список таблиц в текущей базе данных PostgreSQL:
Если добавить в конце значок «+», чтобы команда выглядела так: \dt+, то будет выведен расширенный список таблиц с описанием.
Структура таблицы table:
Переключение между режимами вывода:
Чтение входящих данных из файла:
Вывод результатов запроса в файл:
Настройка параметров форматирования:
Установка переменных среды:
Справка команд SQL:
Выход из консоли:
Чтобы удалить все таблицы, в командной строке сервера вводим команду:
# 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 делается следующим образом:
Источник
📑 Шпаргалка по основным командам PostgreSQL
Вся работа с PostgreSQL осуществляется под пользователем postgres.
Работать с PosgreSQL можно как в интерактивном режиме, так и из командной строки. Программа — psql.
Основные команды PostgreSQL в интерактивном режиме:
- \connect db_name – подключиться к базе с именем db_name
- \du – список пользователей
- \dp (или \z) – список таблиц, представлений, последовательностей, прав доступа к ним
- \di – индексы
- \ds – последовательности
- \dt – список таблиц
- \dt+ — список всех таблиц с описанием
- \dt *s* — список всех таблиц, содержащих s в имени
- \dv – представления
- \dS – системные таблицы
- \d+ – описание таблицы
- \o – пересылка результатов запроса в файл
- \l – список баз данных
- \i – читать входящие данные из файла
- \e – открывает текущее содержимое буфера запроса в редакторе (если иное не указано в окружении переменной EDITOR, то будет использоваться по умолчанию vi)
- \d “table_name” – описание таблицы
- \i запуск команды из внешнего файла, например \i /my/directory/my.sql
- \pset – команда настройки параметров форматирования
- \echo – выводит сообщение
- \set – устанавливает значение переменной среды. Без параметров выводит список текущих переменных (\unset – удаляет).
- \? – справочник psql
- \help – справочник SQL
- \q (или Ctrl+D) – выход с программы
Работа с PostgreSQL из командной строки:
- -c (или –command) – запуск команды SQL без выхода в интерактивный режим
- -f file.sql — выполнение команд из файла file.sql
- -l (или –list) – выводит список доступных баз данных
- -U (или –username) – указываем имя пользователя (например postgres)
- -W (или –password) – приглашение на ввод пароля
- -d dbname — подключение к БД dbname
- -h – имя хоста (сервера)
- -s – пошаговый режим, то есть, нужно будет подтверждать все команды
- –S – однострочный режим, то есть, переход на новую строку будет выполнять запрос (избавляет от ; в конце конструкции SQL)
- -V – версия PostgreSQL без входа в интерактивный режим
Примеры:
psql -U postgres -d dbname -c «CREATE TABLE my(some_id serial PRIMARY KEY, some_text text);» — выполнение команды в базе dbname.
psql -d dbname -H -c «SELECT * FROM my» -o my.html — вывод результата запроса в html-файл.
Утилиты (программы) PosgreSQL:
- createdb и dropdb – создание и удаление базы данных (соответственно)
- createuser и dropuser – создание и пользователя (соответственно)
- pg_ctl – программа предназначенная для решения общих задач управления (запуск, останов, настройка параметров и т.д.)
- postmaster – многопользовательский серверный модуль PostgreSQL (настройка уровней отладки, портов, каталогов данных)
- initdb – создание новых кластеров PostgreSQL
- initlocation – программа для создания каталогов для вторичного хранения баз данных
- vacuumdb – физическое и аналитическое сопровождение БД
- pg_dump – архивация и восстановление данных
- pg_dumpall – резервное копирование всего кластера PostgreSQL
- pg_restore – восстановление БД из архивов (.tar, .tar.gz)
Примеры создания резервных копий:
Создание бекапа базы mydb, в сжатом виде
Создание бекапа базы mydb, в виде обычного текстового файла, включая команду для создания БД
Создание бекапа базы mydb, в сжатом виде, с таблицами которые содержат в имени payments
Дамп данных только одной, конкретной таблицы. Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц перечисляются с помощью ключа -t для каждой таблицы.
Создание резервной копии с сжатием в gz
Список наиболее часто используемых опций:
- -h host — хост, если не указан то используется localhost или значение из переменной окружения PGHOST.
- -p port — порт, если не указан то используется 5432 или значение из переменной окружения PGPORT.
- -u — пользователь, если не указан то используется текущий пользователь, также значение можно указать в переменной окружения PGUSER.
- -a, —data-only — дамп только данных, по-умолчанию сохраняются данные и схема.
- -b — включать в дамп большие объекты (blog’и).
- -s, —schema-only — дамп только схемы.
- -C, —create — добавляет команду для создания БД.
- -c — добавляет команды для удаления (drop) объектов (таблиц, видов и т.д.).
- -O — не добавлять команды для установки владельца объекта (таблиц, видов и т.д.).
- -F, —format
— выходной формат дампа, custom, tar, или plain text. - -t, —table=TABLE — указываем определенную таблицу для дампа.
- -v, —verbose — вывод подробной информации.
- -D, —attribute-inserts — дамп используя команду INSERT с списком имен свойств.
Бекап всех баз данных используя команду pg_dumpall.
Восстановление таблиц из резервных копий (бэкапов):
psql — восстановление бекапов, которые хранятся в обычном текстовом файле (plain text);
pg_restore — восстановление сжатых бекапов (tar);
Восстановление всего бекапа с игнорированием ошибок
Восстановление всего бекапа с остановкой на первой ошибке
Для восстановления из tar-арихива нам понадобиться сначала создать базу с помощью CREATE DATABASE mydb; (если при создании бекапа не была указана опция -C) и восстановить
Восстановление резервной копии БД, сжатой gz
Источник
Работаем с PostgreSQL через командную строку в Linux
Установка PostgreSQL на Linux (Mint)
Для подключения к базе данных PostgreSQL понадобится установленный PostgreSQL клиент:
Для установки PostgreSQL сервера:
Проверим, можем ли мы подключиться к базе данных PostgreSQL:
Вывод команды должен быть примерно таким:
PostgreSQL Подключение, Пользователи (Роли) и Базы Данных
Логин в только что установленный postgreSQL сервер нужно производить под именем пользователя postgres:
Для подключения к базе данных PostgreSQL можно использовать команду:
Если такая команда не просит ввести пароль пользователя, то можно еще добавить опцию -W.
После ввода пароля и успешного подключения к базе данных PostgreSQL, можно посылать SQL-запросы и psql-команды.
PostgreSQL создание новой роли и базы данных
Создать новую роль c именем admin (указывайте нужное имя):
Создание новой базы данных:
Дать права роли на базу данных:
Включить удаленный PostgreSQL доступ для пользователей
Нам нужно отредактировать файл /etc/postgresql/ /main/pg_hba.conf, задав опцию md5 вместо peer.
может быть 10, 11, 12 и т.д.
После этого сделать restart PostgreSQL:
Полезные команды PostgreSQL
Выйти из клиента PostgreSQL:
\q
Показать список баз данных PostgreSQL:
\l
Показать список таблиц:
\dt
Показать список пользователей (ролей):
\du
Показать структуру таблицы:
Переименовать базу данных:
Удалить базу данных:
Изменить текущую базу данных в PostgreSQL (вы не сможете переименовать или удалить текущую базу данных):
\connect db_name или более короткий alias: \c db_name
Удалить роль (пользователя):
Роль не будет удалена, если у нее есть привелегии — возникнет ошибка ERROR: role cannot be dropped because some objects depend on it .
Нужно удалить привелегии у роли, например если нужно удалить роль admin2, нужно выполнить последовательность комманд с Drop Owned:
Дать права пользователю/роли на логин ( role is not permitted to log in ):
Выбор shema psql в консоли:
Посмотреть список всех схем:
Подключиться к конкретной схеме:
Sequences
Получить имена всех созданных sequences:
Получить последнее значение sequence, которые будет присвоено новой вставляемой в таблицу записи:
Источник
Подключение к базе данных PostgreSQL в Linux, Windows
Подключитесь к PostgreSQL из командной строки
Запуск программы интерактивного терминала PostgreSQL, называемой psql, которая позволяет в интерактивном режиме вводить, редактировать и выполнять команды SQL. Во время установки postgres в вашей операционной системе он создает «начальную БД» и запускает домен сервера postgres. Обычно initdb создает таблицу с именем «postgres», принадлежащую пользователю «текущий пользователь, вошедший в систему»
В командной строке вашей операционной системы введите следующую команду.
Системы на основе Debian, такие как Ubuntu:
Подключиться / войти как root —
Системы на основе Redhat, такие как Centos / Fedora:
Подключиться / войти как root —
Windows:
В Windows текущий пользователь не имеет значения
Получив доступ к базе данных PostgreSQL, вы можете запускать SQL-запросы и многое другое. Вот некоторые распространенные команды PSQL
- Чтобы просмотреть справку по командам psql , введите / ?.
- Чтобы просмотреть справку по командам SQL, введите / h.
- Чтобы просмотреть информацию о текущем соединении с базой данных, введите / conninfo.
- Чтобы составить список таблиц базы данных и их соответствующих владельцев, введите / dt.
- Чтобы получить список всех таблиц, представлений и последовательностей в базе данных, введите / z.
- Чтобы выйти из программы psql , введите / q.
psql — это основанный на терминале интерфейс PostgreSQL. Это позволяет вводить запросы в интерактивном режиме, отправлять их в PostgreSQL и просматривать результаты запроса.
вариант | Описание |
---|---|
-a —echo-все | Выведите все непустые строки ввода на стандартный вывод, когда они прочитаны. Это эквивалентно установке переменной ECHO для всех. |
-А —no-Align | Переключение в режим невыровненного выхода. |
-c команда —command = команда | Указывает, что psql должен выполнить одну командную строку, команду и затем выйти. Это полезно в сценариях оболочки. Файлы запуска (psqlrc и |
/ .psqlrc) игнорируются этой опцией.
—dbname = имя_бд
—echo-запросы
—echo скрытая
—field-сепаратор = сепаратор
—host = имя хоста
—html
—список
—log-файл = имя_файла
—no-Readline
—output = имя_файла
—port = порт
—pset = Назначение
—тихо
—record-сепаратор = сепаратор
—одна линия
—tuples только
—table-атр = table_options
—username = имя пользователя
—set = Назначение
—variable = Назначение
—версия
—no-пароль
—пароль
—expanded
—no-psqlrc
—field-сепаратор-ноль
—record-сепаратор-ноль
—single-транзакции
—Помогите
Подключение к базе данных PostgreSQL с помощью приложения с графическим интерфейсом pgAdmin
Вы также можете подключиться к базе данных PostgreSQL с помощью приложения pgAdmin GUI. Подключитесь к базе данных по адресу localhost: 5432, используя имя пользователя postgres и предоставленный пароль.
При нажатии на pgAdmin III появится следующий экран:
Теперь дважды щелкните PostgreSQL 9.4 в разделе «Группы серверов». pgAdmin попросит вас ввести пароль. Вы должны предоставить пароль для пользователя postgres для аутентификации.
В разделе «База данных» на этом разделе сервера найдите нужную базу данных и выполните запросы SQL:
Источник