Как подавить вывод сообщения в vertica - PullRequest
0 голосов
/ 23 сентября 2019

Я запускаю серию операторов SQL в vertica, которая сохраняется в файле abc.sql и переносит вывод в текстовый файл.

Я хотел отключить предупреждение и не дать ему перейти к тексту.файл

abc.sql 

UPDATE  public.aks SET name='Akshay';

SELECT 2;

SELECT 3;

SELECT 4;

output.txt

OUTPUT
100
(1 row)
?column?
2
(1 row)
?column?
3
(1 row)
?column?
4
(1 row)

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

Это видео, которое я сделал некоторое время назад, рассказывает о нескольких параметрах формата, включая то, что вы ищете: https://www.youtube.com/watch?v=d3f3fvMGDnU

Если вы добавите параметр -t, он не покажет вам, сколько строк возвращеноили заголовки столбцов.Похоже, вы уже используете опцию -A, поэтому добавление опции -t должно быть всем, что вам нужно для создания содержимого файла с разделителями.

0 голосов
/ 27 сентября 2019

Вам необходимо включить и выключить вывод в скрипте.

Подготовка таблицы:

CREATE TABLE public.aks AS
WITH 
-- need a series of integers ..
i AS (
  SELECT MICROSECOND(ts) AS i , 'slartibartfast' AS name FROM (
    SELECT TIMESTAMPADD(microsecond,  1,'2000-01-01'::TIMESTAMP) AS tm UNION ALL
    SELECT TIMESTAMPADD(microsecond,100,'2000-01-01'::TIMESTAMP) AS tm
  )x
  TIMESERIES ts AS '1 microsecond' OVER(ORDER BY tm)
)
SELECT * FROM i;

Как только это будет сделано - скрипт будет выглядеть так:

-- send all output to nirvana
\o /dev/null
UPDATE  public.aks SET name='Akshay';
-- send output back to screen
\o
SELECT 2;
SELECT 3;
SELECT 4;

И вывод:

2
3
4

Это то, что вы ищете?

...