psql : 하나의 열을 제외하고 SELECT *…


10

psql에서 하나를 제외한 모든 열을 선택하는 간단한 방법을 검색합니다.

psqlI 대화 형 명령 줄을 의미한다.

*인용 된 열 이름 목록으로 확장되는 도구에 만족 합니다. 그런 다음 열을 제거하여 손으로 제거 할 수 있습니다.

내 질문은 psql의 대화 형 사용법에 관한 것입니다. SQL 표준에 만족하지 않고 "select * -foo"와 같은 것을 실행하려는 사람들의 질문과 중복되지 않습니다.


3
하나도 없습니다, 죄송합니다. information_schemapl / pgsql 함수를 통해 쿼리 하여 목록을 쉽게 생성 할 수 있지만 두 가지 쿼리가 될 수 있습니다.
Craig Ringer

2
대부분의 GUI 도구가이를 수행 할 수 있습니다. 그러나 만약 당신이 커맨드 라인을 고수하고 싶거나해야만한다면, 이것이 도움이 될 것이다 : github.com/dbcli/pgcli
a_horse_with_no_name

@a_horse_with_no_name "답변"을 받고 싶습니다. 답변을 게시하고 질문을 해결하는 pgcli 도구의 사용법을 설명해 주시겠습니까?
guettli

어떤 열을 제외하고? 마지막 하나? 첫번째? 아니면 무작위?
BAE

1
@ChengchengPei :에 desc명령 이 없습니다psql
a_horse_with_no_name

답변:


4

잘못된 열없이 기본 순서로 열 목록을 가져 오려면 다음을 수행하십시오.

SELECT string_agg(quote_ident(attname), ', ' ORDER BY attnum)
FROM   pg_attribute
WHERE  attrelid = 'myschema.mytable'::regclass
AND    NOT attisdropped  -- no dropped (dead) columns
AND    attnum > 0        -- no system columns
AND    attname <> 'bad_column'  -- case sensitive!

또는 올바른 스키마로 해결하기 위해 검색 경로WHERE attrelid = 'mytable'::regclass신뢰하는 경우 .

quote_ident() 필요한 경우 큰 따옴표를 추가합니다.

나는 물었다 pgSQL의 총장에 2007 년에 같은 질문을 . 당시 Postgres 8.2였습니다. 달콤한 추억 ...

관련 :


1
psql에 백 슬래시 명령을 추가하는 작업 항목처럼 들리며, 테이블에 대한 모든 열의 목록 인 문자열을 적절히 인용합니다. 그리고 명령에 대한 추가 인수로 포함 된 모든 열을 생략하도록 할 수 있습니다. 따라서 가설 적으로 \dq thetable bad_column.
jjanes

@ jjanes : 핵심 개발자가 q작업에 대한 무료 편지를 할당하도록 설득하기에 충분한 수요를 생성 할 수 있는지 확실하지 않습니다 . \d연결된 명령 의 전체 목록을 표시하는 전체 명령 제품군에 대한 일반 옵션 일까요? 처럼 \d- tbl(니모닉 :의 반대 \d+, 자세한 내용 을 보여줍니다 ). 이것은 기본적으로 얻을 수있는 것이 어떤 객체의 벌거 벗은 목록을. 스키마의 테이블 : \dt- public.*, "f_foo"로 시작하는 함수 : etc.- \df- f_foo*또는 테이블의 열 : \d- mytbl. 쉘 명령의 기능과 비슷합니다 ls.
Erwin Brandstetter

나는 당신에게 현상금을 제공합니다. 그러나 psql에 내장 된 것은 정말 좋은 기능입니다. 감사합니다 Erwin :-)
guettli

0

나는 당신이 찾고있는 것을 찾았지만 직접 테스트하지는 않았다고 생각합니다.

SequelPro라는 소프트웨어가 있습니다.이 소프트웨어를 사용하면 주어진 테이블에서 필드 만 선택할 수 있지만 MySQL에서만 사용할 수 있습니다. 페이지 중앙 어딘가에서 아래 내용을 읽으십시오.

http://www.sequelpro.com/docs/Working_with_Query_Favorites

Mac에서만 실행되는 PSequel이라는 또 다른 소프트웨어가 있으며 Postgres 용으로 만들어진 SequelPro 유형이라고 주장합니다.

http://www.psequel.com/

도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.