Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Очистка таблиц по маске / 18 сообщений из 18, страница 1 из 1
22.10.2020, 10:25
    #40010800
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Здравствуйте!
Изучаю postgres. Объясните, как можно очистить таблицы используя маску командой TRUNCATE, маска типа doc*, т.е. нужно очистить все таблицы которые начинаются с doc.
Спасибо!
...
Рейтинг: 0 / 0
22.10.2020, 10:43
    #40010805
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
whip,

- получить список таблиц, имена которых начинаются с doc
- сформировать текст команды truncate
- выполнить эту команду
...
Рейтинг: 0 / 0
22.10.2020, 10:52
    #40010807
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Можно пример.
...
Рейтинг: 0 / 0
22.10.2020, 12:08
    #40010832
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Выбрал все таблицы с doc
select tablename from pg_tables where tablename like 'doc%'
как их очистить?
...
Рейтинг: 0 / 0
22.10.2020, 12:19
    #40010836
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
whip
Выбрал все таблицы с doc
select tablename from pg_tables where tablename like 'doc%'
как их очистить?

Код: sql
1.
2.
select 'truncate table' || tablename from pg_tables where tablename like 'doc%';
\gexec
...
Рейтинг: 0 / 0
22.10.2020, 12:32
    #40010842
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
mefman
whip
Выбрал все таблицы с doc
select tablename from pg_tables where tablename like 'doc%'
как их очистить?

Код: sql
1.
2.
select 'truncate table' || tablename from pg_tables where tablename like 'doc%';
\gexec



оох опасно жить любите товарищ mefman ;)
я все таки такие деструктивные вещи стараюсь сначала в файла записать и проверить глазами что все там то что я ожидаю и нет ничего лишнего
а не сразу в \gexec совать


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
22.10.2020, 12:40
    #40010848
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Простите это в pgAdmin не работает.
...
Рейтинг: 0 / 0
22.10.2020, 12:52
    #40010856
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Maxim Boguk
mefman
пропущено...

Код: sql
1.
2.
select 'truncate table' || tablename from pg_tables where tablename like 'doc%';
\gexec



оох опасно жить любите товарищ mefman ;)
я все таки такие деструктивные вещи стараюсь сначала в файла записать и проверить глазами что все там то что я ожидаю и нет ничего лишнего
а не сразу в \gexec совать


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

Ничего опасного, я подозревал, что ТС не знает про консоль )). Это раз.
Как правило задачки потранкейтить все не возникают на проде. Исключительно дев-тест. Это два.
Ну и ТС сам попросил массовый транкейт )
авторОни слабы, они вымирают. Не будем мешать...
...
Рейтинг: 0 / 0
22.10.2020, 12:54
    #40010859
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
whip
Простите это в pgAdmin не работает.

Сделай селект в пгадмине, выполни результат.
Заодно будет возможность еще раз проверить, что транкаешь.
...
Рейтинг: 0 / 0
22.10.2020, 13:15
    #40010868
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
В нем и сделал, но таблицы не очищаются. Выдает список.

[
Модератор: Вложение удалено. Скриншоты нужно прятать под спойлер, а лучше передать список текстом.
...
Рейтинг: 0 / 0
22.10.2020, 13:22
    #40010872
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
whip
В нем и сделал, но таблицы не очищаются. Выдает список.

медицина бессильна (
...
Рейтинг: 0 / 0
22.10.2020, 13:34
    #40010879
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Скажите где это сделать?
...
Рейтинг: 0 / 0
22.10.2020, 13:58
    #40010885
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Ctrl-C, Ctrl-V ?

p.s. pgAdmin настолько хорошо не знаю, надеюсь, что данные кнопки в нем все же работают
...
Рейтинг: 0 / 0
22.10.2020, 16:12
    #40010930
Flashpoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
whip,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DO $$ DECLARE sch TEXT; tbl TEXT;
BEGIN
  FOR sch, tbl IN
    SELECT schemaname, tablename
    FROM pg_tables
    WHERE schemaname = 'public' AND tablename LIKE 'doc%'
  LOOP
    EXECUTE format('TRUNCATE TABLE %I.%I', sch, tbl);
  END LOOP;
END $$;
...
Рейтинг: 0 / 0
22.10.2020, 16:16
    #40010932
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Flashpoke
whip,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DO $$ DECLARE sch TEXT; tbl TEXT;
BEGIN
  FOR sch, tbl IN
    SELECT schemaname, tablename
    FROM pg_tables
    WHERE schemaname = 'public' AND tablename LIKE 'doc%'
  LOOP
    EXECUTE format('TRUNCATE TABLE %I.%I', sch, tbl);
  END LOOP;
END $$;


лучше уж на plpython, или plperl тогда.
...
Рейтинг: 0 / 0
22.10.2020, 16:24
    #40010936
Flashpoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
mefman
лучше уж на plpython, или plperl тогда.
Зачем? Это не регулярная операция.
По надобности вставил в окно SQL редактора, выполнил, закрыл окно.
...
Рейтинг: 0 / 0
22.10.2020, 16:43
    #40010939
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Flashpoke
mefman
лучше уж на plpython, или plperl тогда.
Зачем? Это не регулярная операция.
По надобности вставил в окно SQL редактора, выполнил, закрыл окно.

это был сарказм.
Имхо для такой мелкой и разовой операции вполне годится копипаст, а лучше \gexec.
...
Рейтинг: 0 / 0
23.10.2020, 08:10
    #40011071
whip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистка таблиц по маске
Flashpoke, Спасибо огромное!!!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Очистка таблиц по маске / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]