- Linux и Windows: помощь админам и пользователям
- Администрируем и настраиваем Windows, Linux.
- 15 команд для управления PostgreSQL
- 1. Как изменить root пароль в PostgreSQL?
- 2. Как установить PostgreSQL в автозапуск?
- 3. Проверяем состояние сервера
- 4. Как запустить, остановить, перезапустить PostgreSQL?
- 5. Как посмотреть какая версия PostgreSQL запущена?
- 5. Как создать пользователя в PostgreSQL?
- 6. Как создать базу в PostgreSQL ?
- 7. Получаем список всех баз в Postgresql?
- 8. Как удалить базу в PostgreSQL?
- 9. Пользуемя встроенным хелпом к командам
- 10. Как получить список всех таблиц в базе данный в Postgresql?
- 11. Как узнать время выполнения запроса?
- 12. Как бэкапить и восстанавливать базы и таблицы в PostgreSQL?
- 13. Как посмотреть список доступных функций в PostgreSQL ?
- 14. Как отредактировать запрос к PostgreSQL в редакторе?
- 15. Где я могу найти файл истории postgreSQL?
- Комментариев: 10
- Работаем с PostgreSQL через командную строку в Linux
- Установка PostgreSQL на Linux (Mint)
- PostgreSQL Подключение, Пользователи (Роли) и Базы Данных
- PostgreSQL создание новой роли и базы данных
- Включить удаленный PostgreSQL доступ для пользователей
- Полезные команды PostgreSQL
- Выбор shema psql в консоли:
- Sequences
- Как вывести список баз данных и таблиц PostgreSQL с помощью psql
- Листинг баз данных
- Листинговые таблицы
- Выводы
- Узнать список баз postgresql linux
Linux и Windows: помощь админам и пользователям
Администрируем и настраиваем Windows, Linux.
15 команд для управления PostgreSQL
В этой статье я покажу 15 наиболее полезных команд для управления postgreSQL.
1. Как изменить root пароль в PostgreSQL?
Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.
2. Как установить PostgreSQL в автозапуск?
3. Проверяем состояние сервера
4. Как запустить, остановить, перезапустить PostgreSQL?
5. Как посмотреть какая версия PostgreSQL запущена?
5. Как создать пользователя в PostgreSQL?
Для этого существуют два метода..
Метод 1: Создаем пользователя в через PSQL шелл, командой CREATE USER.
Метод 2: Создаем пользователя в через шелл команду createuser.
6. Как создать базу в PostgreSQL ?
Для этого существует 2 метода.
Метод 1: Создаем базу черезе PSQL шелл, с помощью команды CREATE DATABASE.
Метод 2: Используем команду createdb.
7. Получаем список всех баз в Postgresql?
8. Как удалить базу в PostgreSQL?
9. Пользуемя встроенным хелпом к командам
Команда \? отобразит строку помощи для команда PSQL. \h CREATE покажет хелп для всех команд который начинаются с CREATE.
10. Как получить список всех таблиц в базе данный в Postgresql?
Для пустой базы вы получите сообщение “No relations found.”
11. Как узнать время выполнения запроса?
# \timing — после выполения данной команды каждый последующий запрос будет показывать время выполнения.
12. Как бэкапить и восстанавливать базы и таблицы в PostgreSQL?
Этот вопрос довольно велик и я опубликую его позднее отдельной статьей.
13. Как посмотреть список доступных функций в PostgreSQL ?
Для того чтобы получить список доступных функций, скажите \df+
14. Как отредактировать запрос к PostgreSQL в редакторе?
\e откроет редактор, в котором вы можете отредактировать запрос и сохранить его.
15. Где я могу найти файл истории postgreSQL?
/.bash_history, postgreSQL хранит все sql команды в файле
Разное
Лучшие выставочные стенды в Москве. Отличное качество выполнения, невысокие цены.
Курьерская служба, доставка по Москве и Московской области, срочная доставка, рассылки писем, счетов, журналов
Комментариев: 10
Очень хорошая статья, люблю живые примеры
С удовольствием прочитаю статью про бэкапы в postgresql
Спасибо, подборка очень выручила когда пришлось аврально разбираться, как с postgesql работать.
И да, примерах с кодом у меня повылазили тэги , лучше бы их убрать, читать мешает.
продвижение сайтов — SEO www.top5.com.ua и раскрутка в Киеве
Как и везде — много полезного, но нет нужного( ничего не сказано про разрешения и полномочия для обычных пользователей постгреса..
$ su — root
# tar xvfz postgresql-8.3.7.tar.gz
# cd postgresql-8.3.7
# cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
# chmod a+x /etc/rc.d/init.d/postgresql
Не получается :((( команда postgresql status говорит что он остановлен.
Странно. Я пользуюсь Ruby On Rails и у меня иногда удаляется база данных. Причём, непонятно почему.
А так — спасибо за список команд — помогло.
Как посмотреть какая версия PostgreSQL запущена?
Полная ахинея. Нужно быть придурком чтобы таким образом определять версию постгреса,
в то время как простое —help нам подскажет, что достаточно и «psql —version«.
Автор просто скопипастил текст «статьи» откуда-то даже не удосужившись удалить html-тэги.
При написании подобных статей почему-то не учитывается специфика дистрибутива. Да — они все похожи, это не оспоримо, но тем не менее хотелось бы дополнить.
Первое с чем сталкиваются новички, а работает ли на нужном порту постгри. Решается командой , если вывод команды пустой, значит сервис не работает.
Также хочется отметить, что способов запуска/остановки процессов в разных системах минимум 2, тут выделен самый неудачный в плане длинного пути и отсутствия стандартизации запуска процессов.
Есть команда показывающая место расположения базы данных:
Как понимаю 1 row — это означает первая база. Как посмотреть вторую?
Источник
Работаем с 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 с помощью psql
При администрировании серверов баз данных PostgreSQL одной из наиболее распространенных задач, которые вы, вероятно, будете выполнять, будет перечисление баз данных и их таблиц.
PostgreSQL поставляется с интерактивным инструментом psql , который позволяет вам подключаться к серверу и выполнять запросы к нему. При использовании psql вы также можете воспользоваться его мета-командами. Эти команды полезны для написания сценариев и администрирования из командной строки. Все мета-команды начинаются с обратной косой черты без кавычек и также известны как команды с обратной косой чертой.
В этом руководстве объясняется, как отображать базы данных и таблицы на сервере PostgreSQL с помощью psql .
Листинг баз данных
Вы можете подключиться к серверу PostgreSQL с помощью команды psql как любой системный пользователь. В зависимости от конфигурации сервера пользователю может потребоваться ввести свой пароль для подключения к терминалу psql . Чтобы получить доступ к терминалу psql от имени пользователя, в который вы сейчас вошли, просто введите psql .
При установке пакета PostgreSQL создается административный пользователь с именем «postgres». По умолчанию этот пользователь может подключаться к локальному серверу PostgreSQL без пароля.
Чтобы получить доступ к терминалу psql от имени пользователя postgres, запустите:
В терминале psql выполните мета-команду l или list вывести список всех баз данных:
Вывод будет включать количество баз данных, имя каждой базы данных, ее владельца, кодировку и права доступа:
На сервере PostgreSQL по умолчанию созданы три базы данных: template0, template1 и postgres. Первые два — это шаблоны, которые используются при создании новых баз данных.
Если вы хотите получить информацию о размерах баз данных, табличных пространствах по умолчанию и описаниях, используйте l+ или list+ . Размер базы данных отображается только в том случае, если текущий пользователь может к ней подключиться.
Чтобы получить список всех баз данных без доступа к оболочке psql, используйте переключатель -c как показано ниже:
Другой способ составить список баз данных — использовать следующий оператор SQL:
В отличие от мета-команды l приведенный выше запрос покажет только имена баз данных:
Листинговые таблицы
Чтобы сначала вывести список всех таблиц конкретной базы данных, вам необходимо подключиться к ней с помощью c или connect . Пользователь, в который вы вошли в терминал psql, должен иметь возможность подключаться к базе данных.
Например, чтобы подключиться к базе данных с именем «odoo», введите:
После переключения базы данных используйте мета-команду dt вывести список всех таблиц базы данных:
Вывод будет включать количество таблиц, имя каждой таблицы, ее схему, тип и владельца:
Если база данных пуста, вывод будет выглядеть так:
Чтобы получить информацию о размерах таблиц и описаниях, используйте dt+ .
Выводы
Вы узнали, как составить список баз данных и таблиц PostgreSQL с помощью команды psql .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Узнать список баз postgresql linux
Все команды запускаются под пользователем postgres (postgresql-суперпользователь)
psql -l — список баз данных.
psql -d dbname — подключение к БД dbname.
psql -f file.sql — выполнение команд из файла file.sql.
psql -U postgres -d dbname -c «CREATE TABLE test(some_id serial PRIMARY KEY, some_text text);» — выполнение команды в базе dbname.
psql -d dbname -H -c «SELECT * FROM test» -o test.html — вывод результата запроса в html-файл.
Просмотр списка и путей к конфигурационным файлам
Список активных соединений с информацией о: pid процесса, выполняющегося запроса, пользователя, базы данных.
\c dbname — подсоединение к БД dbname.
\l — список баз данных.
\dt — список всех таблиц.
\d table — структура таблицы table.
\du — список всех пользователей и их привилегий.
\dt+ — список всех таблиц с описанием.
\dt *s* — список всех таблиц, содержащих s в имени.
\i FILE — выполнить команды из файла FILE.
\o FILE — сохранить результат запроса в файл FILE.
\a — переключение между режимами вывода: с/без выравнивания.
Бекап и восстановление таблиц
В PostgreSQL есть две утилиты для бекапа pg_dump и pg_dumpall . pg_dump используется для бекапа одной базы, pg_dumpall для бекапа всех баз и сервера в целом (необходимо запускать под postgresql-суперпользователем).
Создание бекапа базы 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
-t, —table=TABLE — указываем определенную таблицу для дампа.
-v, —verbose — вывод подробной информации.
-D, —attribute-inserts — дамп используя команду INSERT с списком имен свойств.
Бекап всех баз данных используя команду pg_dumpall .
В PostgreSQL есть две утилиты для восстановления базы из бекапа.
- psql — восстановление бекапов, которые хранятся в обычном текстовом файле (plain text);
- pg_restore — восстановление сжатых бекапов (tar);
Восстановление всего бекапа с игнорированием ошибок
Восстановление всего бекапа с остановкой на первой ошибке
Для восстановления из tar-арихива нам понадобиться сначала создать базу с помощью CREATE DATABASE mydb; (если при создании бекапа не была указана опция -C ) и восстановить
Восстановление резервной копии БД, сжатой gz
Начиная с версии 9.2 можно восстановить только структуру таблиц с помощью опции —section
Перенос директории с данным (data directory)
Узнать текущий путь
Создадим новую директорию, назначим пользователя и инициализируем
Теперь надо подправить файл с сервисом, который стартует postgresql
Очищение таблицы tablename и обнуление счетчика с ID.
CASCADE нужен на случай если tablename связана с другой таблицей.
Удаление NULL у поля
pgcli утилита командной строки с авто-дополнениям и подсветкой синтаксиса.
Источник