2016-04-21 1 views
0

Мы используем postgresql 8/psql version 8.4. Я запрашивая INFORMATION_SCHEMA.COLUMNS для имен столбцов и хотел бы, чтобы создать текстовый файл/выходной файл так:postgresql - настраиваемый выходной файл с разделенными запятыми столбцами

UNLOAD ('select 
col1, 
col2, 
col3, 
col4, 
col5) 
to more text here 

или

UNLOAD ('select col1,col2,col3,col4,col5) to more text here 

Итак, я в основном ищу для вывода colname, а затем "," - colname,

Возможно ли это? Спасибо за помощь.

ответ

1

Это создаст строку так:

SELECT 'UNLOAD (''select ' || 
     array_to_string(array_agg(column_name::text), ',') || 
     ' to more text here' 
FROM information_schema.columns 
WHERE table_schema = 'public' 
AND  table_name = 'whatever' 
; 

Вы можете использовать \o, чтобы отправить его в файл, или использовать COPY (...) TO STDOUT.

+0

Отлично! Это отлично работает. – noober

+0

другой предмет. что, если мне нужно добавить строку с кавычками? ''to more' text 'here'' – noober

+0

Если вы поместите две одиночные кавычки рядом друг с другом внутри строки с одной кавычкой, это даст вам одну цитату в вашей строке. Вы можете следовать примеру в '' UNLOAD ('' select ''. –

 Смежные вопросы

  • Нет связанных вопросов^_^