Linux 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) – выход с программы
Читайте также:  Fixing registry errors windows

Работа с 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) игнорируются этой опцией. -d dbname
—dbname = имя_бд
Защищает имя базы данных для подключения. Это эквивалентно указанию dbname в качестве первого неопционального аргумента в командной строке. -e
—echo-запросы Скопируйте все команды SQL, отправленные на сервер, в стандартный вывод. Это эквивалентно установке переменной ECHO для запросов. -E
—echo скрытая Используйте имя файла в качестве источника команд вместо интерактивного чтения команд. После обработки файла psql завершается. Это во многом эквивалентно мета-команде / i. -F сепаратор
—field-сепаратор = сепаратор Используйте разделитель в качестве разделителя полей для выровненного вывода. Это эквивалентно / pset fieldsep или / f. -h имя хоста
—host = имя хоста
Указывает имя хоста компьютера, на котором работает сервер. Если значение начинается с косой черты, оно используется в качестве каталога для сокета Unix-домена. -ЧАС
—html Включите табличный вывод HTML. Это эквивалентно формату / pset html или команде / H. -l
—список Перечислите все доступные базы данных, затем выйдите. Другие параметры без подключения игнорируются. Это похоже на мета-команду / список. -L имя файла
—log-файл = имя_файла Запишите весь вывод запроса в имя файла, в дополнение к обычному месту назначения вывода. -n
—no-Readline Не используйте Readline для редактирования строк и не используйте историю команд. Это может быть полезно для отключения раскрытия вкладки при вырезании и вставке. -о имя файла
—output = имя_файла Поместите весь вывод запроса в имя файла. Это эквивалентно команде / o. порт
—port = порт
Указывает порт TCP или расширение файла локального сокета Unix-домена, на котором сервер прослушивает соединения. По умолчанию используется значение переменной среды PGPORT или, если не установлено, значение порта, указанного во время компиляции, обычно 5432. -P назначение
—pset = Назначение Определяет параметры печати в стиле / pset. Обратите внимание, что здесь вы должны разделить имя и значение знаком равенства вместо пробела. Например, чтобы установить выходной формат LaTeX, вы можете написать -P format = latex. -q
—тихо Указывает, что psql должен выполнять свою работу спокойно. По умолчанию он печатает приветственные сообщения и различный информационный вывод. Если эта опция используется, ничего из этого не происходит. Это полезно с опцией -c. Это эквивалентно включению переменной QUIET. -R разделитель
—record-сепаратор = сепаратор Используйте разделитель в качестве разделителя записей для выровненного вывода. -S
—одна линия Работает в однострочном режиме, где символ новой строки завершает команду SQL, как точка с запятой. -t
—tuples только Отключение печати имен столбцов и колонтитулов итоговых строк -T table_options
—table-атр = table_options Определяет параметры для размещения в теге HTML таблицы. Смотрите / pset для деталей. -U имя пользователя
—username = имя пользователя
Подключение к базе данных в качестве имени пользователя вместо имени по умолчанию. (Конечно, у вас должно быть разрешение на это.) -v назначение
—set = Назначение
—variable = Назначение Выполните присвоение переменной, как мета-команда / set. Обратите внимание, что вы должны разделить имя и значение, если оно есть, знаком равенства в командной строке. -V
—версия Распечатать версию PSQL и выйти. -w
—no-пароль
Никогда не выдавайте запрос пароля. Если серверу требуется аутентификация по паролю, а пароль недоступен другими способами, такими как файл .pgpass, попытка подключения завершится неудачно. Эта опция может быть полезна в пакетных заданиях и сценариях, где ни один пользователь не присутствует для ввода пароля. -W
—пароль
Вынудите psql запросить пароль перед подключением к базе данных. -Икс
—expanded Включите расширенный режим форматирования таблицы. -ИКС,
—no-psqlrc Не читайте файл запуска. -z
—field-сепаратор-ноль Установите разделитель поля для выровненного вывода в нулевой байт. -0
—record-сепаратор-ноль Установите разделитель записей для выровненного вывода в нулевой байт. Это полезно для взаимодействия, например, с xargs -0. -1
—single-транзакции Когда psql выполняет сценарий с параметром -f, добавление этого параметра оборачивает BEGIN / COMMIT вокруг сценария, чтобы выполнить его как одну транзакцию. Это гарантирует, что либо все команды завершены успешно, либо изменения не применяются. -?
—Помогите Показать справку об аргументах командной строки psql и выйти.

Подключение к базе данных PostgreSQL с помощью приложения с графическим интерфейсом pgAdmin

Вы также можете подключиться к базе данных PostgreSQL с помощью приложения pgAdmin GUI. Подключитесь к базе данных по адресу localhost: 5432, используя имя пользователя postgres и предоставленный пароль.

При нажатии на pgAdmin III появится следующий экран:

Теперь дважды щелкните PostgreSQL 9.4 в разделе «Группы серверов». pgAdmin попросит вас ввести пароль. Вы должны предоставить пароль для пользователя postgres для аутентификации.

В разделе «База данных» на этом разделе сервера найдите нужную базу данных и выполните запросы SQL:

Источник

Читайте также:  Готовые iso образы windows
Оцените статью