psql에서 하나를 제외한 모든 열을 선택하는 간단한 방법을 검색합니다.
로 psqlI 대화 형 명령 줄을 의미한다.
*인용 된 열 이름 목록으로 확장되는 도구에 만족 합니다. 그런 다음 열을 제거하여 손으로 제거 할 수 있습니다.
내 질문은 psql의 대화 형 사용법에 관한 것입니다. SQL 표준에 만족하지 않고 "select * -foo"와 같은 것을 실행하려는 사람들의 질문과 중복되지 않습니다.
desc명령 이 없습니다psql
psql에서 하나를 제외한 모든 열을 선택하는 간단한 방법을 검색합니다.
로 psqlI 대화 형 명령 줄을 의미한다.
*인용 된 열 이름 목록으로 확장되는 도구에 만족 합니다. 그런 다음 열을 제거하여 손으로 제거 할 수 있습니다.
내 질문은 psql의 대화 형 사용법에 관한 것입니다. SQL 표준에 만족하지 않고 "select * -foo"와 같은 것을 실행하려는 사람들의 질문과 중복되지 않습니다.
desc명령 이 없습니다psql
답변:
잘못된 열없이 기본 순서로 열 목록을 가져 오려면 다음을 수행하십시오.
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였습니다. 달콤한 추억 ...
관련 :
\dq thetable bad_column.
q작업에 대한 무료 편지를 할당하도록 설득하기에 충분한 수요를 생성 할 수 있는지 확실하지 않습니다 . \d연결된 명령 의 전체 목록을 표시하는 전체 명령 제품군에 대한 일반 옵션 일까요? 처럼 \d- tbl(니모닉 :의 반대 \d+, 자세한 내용 을 보여줍니다 ). 이것은 기본적으로 얻을 수있는 것이 어떤 객체의 벌거 벗은 목록을. 스키마의 테이블 : \dt- public.*, "f_foo"로 시작하는 함수 : etc.- \df- f_foo*또는 테이블의 열 : \d- mytbl. 쉘 명령의 기능과 비슷합니다 ls.
나는 당신이 찾고있는 것을 찾았지만 직접 테스트하지는 않았다고 생각합니다.
SequelPro라는 소프트웨어가 있습니다.이 소프트웨어를 사용하면 주어진 테이블에서 필드 만 선택할 수 있지만 MySQL에서만 사용할 수 있습니다. 페이지 중앙 어딘가에서 아래 내용을 읽으십시오.
Mac에서만 실행되는 PSequel이라는 또 다른 소프트웨어가 있으며 Postgres 용으로 만들어진 SequelPro 유형이라고 주장합니다.
도움이 되었기를 바랍니다.
information_schemapl / pgsql 함수를 통해 쿼리 하여 목록을 쉽게 생성 할 수 있지만 두 가지 쿼리가 될 수 있습니다.