1,0×
195 просмотров · 4 месяца назад
00:00/31:35
Описание
Базовый инструментарий PostgreSQL. Использование psql
4 месяца назад • 195 просмотров2 поставили "Нравится"
В данном видео я произвожу знакомство с базовым инструментарием PostgreSQL 16.2 и его терминальным клиентом psql. Показываю, как подключиться к базе данных, вывести информацию о подключении, как получить список доступных команд и переменных psql, как вывести справку по конкретной команде, как распечатать значение конкретной переменной psql. Показываю как включить/отключить режим выравнивания, заголовок результата запроса, показываю, как получить список всех баз данных кластера, показываю, как посмотреть все текущие параметры форматирования, рассказываю, что такое расширенный формат, как установить свой разделитель столбцов, как внутри psql выполнить команду shell, как установить переменную окружения операционной системы, как перенаправить вывод результатов запроса в файл, показываю, как получить список всех таблиц в базе данных, как выполнить запросы из файла, как создать собственную переменную psql и присвоить ей значение, а также сбросить ее значение, как получить текущее время сервера СУБД, показываю, как посмотреть значения всех установленных переменных, пишу запрос получения 5 самых больших таблиц в БД, добавляю информацию о роли в строке приглашения, добавляю отображение длительности выполнения команд, знакомлю с механизмом транзакций.В процессе я выполняю следующие команды:
sudo su - postgres
man psql
psql -d test -U postgres -h debian -p 5432
psql
\conninfo
\q
\c test
\?
\? variables
\echo :VERSION
\h
\h DELETE
select * from pg_database;
select oid, datname, datacl from pg_database;
\a
\t
\pset
\pset fieldsep ' '
\x
select * from pg_database;
select * from pg_database \gx
\! pwd
\setenv TEST Hello
\! echo $TEST
\o result.log
select oid, datname, datacl from pg_database;
nano result.log
\! cat result.log
\o
select * from pg_tables;
select tablename from pg_tables;
select tablename from pg_tables LIMIT 5;
select format('select count(*) from %I;', tablename) from pg_tables LIMIT 5 \g (tuples_only=on format=unaligned) dba1.log
\! cat dba1.log
\i dba1.log
psql < dba1.log
psql -f dba1.log
select format('select count(*) from %I;', tablename) from pg_tables LIMIT 5 \gexec
\set TEST Hi!
\echo :TEST
\unset TEST
select now();
select now() as curr_time \gset
\echo :curr_time
\set
\d pg_tables
select tablename, pg_total_relation_size(schemaname||'.'||tablename) as bytes from pg_tables order by bytes desc LIMIT 5;
\set top5 'select tablename, pg_total_relation_size(schemaname||''.''||tablename) as bytes from pg_tables order by bytes desc LIMIT 5;'
:top5
SELECT * FROM pg_tables LIMIT 5;
\setenv PSQL_PAGER 'less -XS'
\set PROMPT1 '%n@%/%R%x%# '
\set PROMPT2 '%n@%/%R%x%# '
\setenv PSQL_PAGER 'less -XS'
\timing on
BEGIN;
CREATE TABLE t(id int);
INSERTINTO t VALUES(1);
INSERT INTO t VALUES(1);
COMMIT;
SELECT * FROM t;
\set ON_ERROR_ROLLBACK on
🔥 Подписывайтесь на мой канал в телеграме: t.me/kisvadimblog
*****
🟢 www.youtube.com/...ERtDyZ3k0s
🟢 www.youtube.com/...NQ_eGkcTJh
*****
Как отблагодарить автора:
★ подписаться на канал;
★ поставить «лайк» под видео;
★ оставить комментарий;
★ сделать донат «на кофе» ☕:
₽ Boosty: boosty.to/kisvadim
₽ ЯндексДеньги: yoomoney.ru/...1251737878
*****
По всем вопросам:
📮 Телеграм — https://t.me/kisvadim
*****