윈 토토 [옵션 ] [ DB이름 [ 사용자 ] ]
윈 토토터미널 기반입니다. 프런트엔드에서포스트그레. 그것 대화형으로 쿼리를 입력하고 발행할 수 있습니다.포스트그레, 쿼리를 확인하세요. 결과. 또는 파일에서 입력할 수도 있습니다. 또한, 다수의 메타 명령과 다양한 셸 유사 기능을 제공합니다. 스크립트 작성을 용이하게 하고 다양한 작업을 자동화하는 기능 다양한 작업을 수행합니다.
윈 토토단골입니다포스트그레스클라이언트 애플리케이션. 데이터베이스에 연결하려면 데이터베이스 이름을 알아야 합니다. 대상 데이터베이스, 호스트 이름 및 포트 번호 서버 및 연결하려는 사용자 이름.윈 토토해당 매개변수에 대해 알 수 있습니다. 명령줄 옵션을 통해, 즉-d, -h, -p및-유각각. 주장이 발견되면 어떤 옵션에도 속하지 않는 것으로 해석됩니다. 데이터베이스 이름(또는 데이터베이스 이름이 다음과 같은 경우 사용자 이름) 주어진). 이러한 옵션이 모두 필요한 것은 아니며 기본값이 적용됩니다. 호스트 이름을 생략하면 윈 토토은 UNIX 도메인을 통해 연결됩니다. 로컬 호스트의 서버에 소켓을 연결합니다. 기본 포트 번호 컴파일 타임이 결정됩니다. 데이터베이스 서버는 기본값이 동일하므로 대부분의 경우 포트를 지정할 필요가 없습니다. 사례. 기본 사용자 이름은 Unix 사용자 이름입니다. 기본 데이터베이스 이름. 아무 곳에나 연결할 수는 없습니다. 모든 사용자 이름의 데이터베이스. 데이터베이스 관리자는 다음을 수행해야 합니다. 귀하의 접근 권한에 대해 알려드렸습니다. 좀 아껴보려고 입력하면 환경 변수를 설정할 수도 있습니다.PGDATABASE, PGHOST, PG포트그리고PGUSER적절한 값으로.
어떤 이유로든 연결이 이루어질 수 없는 경우(예: 권한이 부족하여 포스트마스터가 실행되고 있지 않습니다. 서버 등),윈 토토할 것이다 오류를 반환하고 종료합니다.
정상 작동 중,윈 토토데이터베이스 이름이 포함된 프롬프트를 제공윈 토토현재 연결되어 있습니다. 그 뒤에 문자열 "="이 옵니다. 예를 들어,
$ 윈 토토 테스트dbPostgreSQL 대화형 터미널인 윈 토토에 오신 것을 환영합니다.
유형: 배포 조건의 경우 \copyright
SQL 명령에 대한 도움말은 \h
\? 내부 슬래시 명령에 대한 도움말
\g 또는 세미콜론으로 종료하여 쿼리 실행
종료하려면 \q
테스트DB=
프롬프트에서 사용자는 다음을 입력할 수 있습니다.SQL쿼리. 일반적으로 입력 라인이 전송됩니다. 쿼리 종료 세미콜론에 도달하면 백엔드에 연결됩니다. 줄 끝은 쿼리를 종료하지 않습니다! 따라서 쿼리는 다음과 같습니다. 명확성을 위해 여러 줄에 걸쳐 표시됩니다. 쿼리가 전송된 경우 오류 없이 쿼리 결과가 화면.
귀하가 입력하는 모든 것윈 토토따옴표가 없는 백슬래시로 시작하는 것은 a윈 토토다음에 의해 처리되는 메타 명령윈 토토그 자체. 이러한 명령은 무엇이 만드는가윈 토토흥미로운 관리 또는 스크립팅. 메타 명령이 더 일반적입니다. 슬래시 또는 백슬래시 명령이라고 합니다.
a의 형식윈 토토명령 백슬래시이고 바로 뒤에 명령 동사가 옵니다. 어떤 주장. 인수는 명령 동사와 분리됩니다. 공백 문자 수에 관계없이 서로.
인수에 공백을 포함하려면 다음과 같이 인용해야 합니다. 작은 따옴표. 이러한 인수에 작은따옴표를 포함하려면, 백슬래시를 앞에 붙입니다. 작은따옴표 안에 포함된 모든 내용은 다음과 같습니다. 또한 C와 유사한 대체가 적용됩니다.\n(새 줄),\t(탭),\숫자, \0숫자및\0x숫자( 주어진 10진수, 8진수, 16진수를 갖는 문자 코드).
따옴표가 없는 인수가 콜론으로 시작하는 경우(:), 변수로 사용되며 대신 변수가 인수로 사용됩니다.
“백틱”으로 인용된 인수(`)은 다음으로 전달되는 명령줄로 사용됩니다. 껍질. 명령의 출력(후행 줄 바꿈 포함) 제거됨)이 인수 값으로 사용됩니다. 위의 탈출 시퀀스는 역따옴표에도 적용됩니다.
일부 명령은 다음의 이름을 가집니다.SQL식별자(예: 테이블 이름) 논쟁. 이러한 인수는 다음의 구문 규칙을 따릅니다.SQL큰따옴표 관련: 식별자 큰따옴표가 없으면 소문자로 강제됩니다. 기타 모든 경우 명령 큰따옴표는 특별하지 않으며 다음의 일부가 됩니다. 주장.
따옴표가 없는 다른 백슬래시가 있으면 인수 분석이 중지됩니다. 발생합니다. 이는 새로운 메타 명령의 시작으로 간주됩니다. 는 특수 시퀀스\\(백슬래시 2개) 인수의 끝을 표시하고 구문 분석을 계속합니다.SQL쿼리(있는 경우). 그런 식으로SQL그리고윈 토토명령은 한 줄에서 자유롭게 혼합될 수 있습니다. 그러나 어쨌든, 메타 명령의 인수는 명령의 끝을 넘어 계속될 수 없습니다. 라인.
다음 메타 명령이 정의됩니다:
현재 테이블 출력 형식이 정렬되지 않은 경우 다음으로 전환하세요. 정렬되었습니다. 정렬되지 않은 경우 정렬되지 않은 상태로 설정합니다. 이 이전 버전과의 호환성을 위해 명령이 유지됩니다. 참조\pset일반 솔루션의 경우.
다음의 결과로 인쇄되는 테이블의 제목 설정 검색어를 입력하거나 해당 제목을 설정 해제하세요. 이 명령은 동일합니다. 에\pset 제목제목. (이 명령의 이름은 이전에는 설정에만 사용되었으므로 "캡션"에서 파생됩니다. 캡션은HTML테이블.)
새 데이터베이스 및/또는 데이터베이스에 대한 연결을 설정합니다. 사용자 이름. 이전 연결이 닫혔습니다. 만일db이름is-현재 데이터베이스 이름이 가정됩니다.
만약사용자 이름생략되었습니다. 현재 사용자 이름이 가정됩니다.
특별한 규칙으로,\연결없이 모든 인수는 기본 데이터베이스에 연결됩니다. 기본 사용자(시작하면 얻을 수 있는 사용자)윈 토토아무것도 없이 인수).
연결 시도가 실패하면(잘못된 사용자 이름, 액세스 거부 등) 다음과 같은 경우 이전 연결이 유지됩니다. 경우에만윈 토토다음에 있음 대화형 모드. 비대화형 스크립트를 실행할 때, 오류가 발생하면 처리가 즉시 중지됩니다. 이 오타에 대한 사용자 편의를 위해 구별을 선택했습니다. 한편으로는 스크립트가 아닌 안전 메커니즘 실수로 다른 데이터베이스의 잘못된 데이터베이스에 작업을 수행했습니다. 손.
프런트엔드(클라이언트) 복사를 수행합니다. 이것은 작업입니다 그 실행은SQL 와이즈 토토 PostgreSQL : 문서 : 7.0 : 복사명령이지만 대신 백엔드가 지정된 파일을 읽거나 쓰는 경우 결과적으로 백엔드 액세스 및 특수 사용자가 필요합니다. 권한이 있을 뿐만 아니라 파일 시스템에 바인딩됩니다. 백엔드에서 액세스할 수 있습니다.윈 토토파일을 읽거나 쓰고 경로를 지정합니다. 백엔드와 로컬 파일 시스템 간의 데이터입니다.
명령의 구문은 다음의 구문과 유사합니다.SQL 복사명령(자세한 내용은 설명 참조). 참고하세요, 이 때문에 특별한 구문 분석 규칙이 적용됩니다.\복사명령. 특히, 변수 대체 규칙과 백슬래시 이스케이프는 적용되지 않습니다.
팁:이 작업은 다음 작업만큼 효율적이지 않습니다.SQL 복사모든 데이터가 통과해야 하기 때문에 명령 클라이언트/서버 IP 또는 소켓 연결을 통해. 에 대한 많은 양의 데이터가 있으면 다른 기술이 필요할 수 있습니다. 바람직합니다.
참고:해석의 차이에 주목표준 입력그리고stdout프런트엔드와 백엔드 복사본 사이: 프런트엔드 복사본에서는 항상 다음을 참조합니다.윈 토토의 입력 및 출력 스트림. 에 백엔드 사본표준 입력출처: 어디든복사본인은 다음에서 왔습니다. (예를 들어, 다음과 같이 실행되는 스크립트는-f옵션) 및stdout쿼리 출력 스트림을 나타냅니다. (참조\o아래 메타 명령).
다음의 저작권 및 배포 조건을 표시합니다.포스트그레스.
다음의 모든 열을 표시합니다.관계(테이블, 뷰, 인덱스 또는 시퀀스), 해당 유형 및 특수 속성 같은NULL이 아님또는 기본값인 경우 어떤. 관계가 실제로 테이블인 경우 정의된 모든 항목 지수도 나와있습니다. 관계가 뷰인 경우 뷰는 정의도 표시됩니다.
명령 형식\d+이다 동일하지만 테이블 열과 관련된 모든 주석 도 표시됩니다.
참고:만약\d라고 합니다 인수가 없으면 다음과 같습니다.\dtvs모든 테이블 목록이 표시됩니다. 보기 및 시퀀스. 이건 순전히 편의에요 측정합니다.
사용 가능한 모든 집계 함수를 다음과 함께 나열합니다. 그들이 작동하는 데이터 유형. 만일패턴(정규 표현식)은 지정하면 일치하는 집계만 표시됩니다.
다음에 대한 설명을 표시합니다객체(일반 표현식) 또는 인수가 제공되지 않은 경우 모든 객체에 적용됩니다. ("객체"에는 집계, 함수, 연산자, 유형, 관계(테이블, 뷰, 인덱스, 시퀀스, 대형 개체), 규칙 및 트리거.) 예:
=\dd 버전객체 설명 이름 | 무엇 | 설명 --------+------------+--------------- 버전 | 기능 | PostgreSQL 버전 문자열 (1행)
객체에 대한 설명은 다음을 사용하여 생성될 수 있습니다.댓글 켜기 SQL명령.
참고: 포스트그레스pg_description 시스템에 개체 설명을 저장합니다. 테이블.
사용 가능한 함수를 해당 인수와 함께 나열합니다. 및 반환 유형. 만일패턴(정규식)이 지정되었습니다. 일치하는 함수만 표시됩니다. 양식인 경우\df+이 사용되었습니다. 다음을 포함한 각 기능에 대한 추가 정보 언어와 설명이 표시됩니다.
이것은 실제 명령 이름이 아닙니다: 문자 i, s, t, v, S는 인덱스, 시퀀스, 테이블, 뷰 및 시스템을 나타냅니다. 테이블은 각각. 다음 중 일부 또는 전부를 지정할 수 있습니다. 누구와 함께 목록을 얻으려는 명령 주인이요.
만약패턴지정되었습니다. 목록을 다음으로 제한하는 정규식입니다. 이름이 일치하는 개체입니다. 에 "+"를 추가하면 명령 이름, 각 개체는 연관된 항목과 함께 나열됩니다. 설명(있는 경우)
이것은 다음의 별칭입니다.\lo_list, 이는 대형 개체 목록을 보여줍니다.
사용 가능한 연산자를 피연산자 및 반환값과 함께 나열합니다. 유형. 만일이름지정되었습니다. 해당 이름을 가진 운영자만 표시됩니다.
이것은 다음의 별칭입니다.\z이것은 더 큰 니모닉 값(“디스플레이 권한”).
모든 데이터 유형 또는 일치하는 데이터 유형만 나열패턴. 명령 형식\dT+추가 정보를 표시합니다.
만약파일 이름지정되었습니다. 파일이 편집되었습니다. 편집기가 종료된 후 해당 내용은 다음과 같습니다. 쿼리 버퍼에 다시 복사되었습니다. 인수가 주어지지 않으면, 현재 쿼리 버퍼는 임시 파일에 복사됩니다. 그런 다음 같은 방식으로 편집했습니다.
새 쿼리 버퍼는 다음에 따라 다시 구문 분석됩니다. 일반적인 규칙윈 토토, 여기서 전체 버퍼는 단일 라인으로 처리됩니다. (그래서 당신은 이런 식으로 "스크립트"를 만들 수 없습니다.\i그 경우.) 이는 또한 쿼리가 (또는 대신) 세미콜론을 포함하면 즉시 실행됩니다. 에서 다른 경우에는 쿼리 버퍼에서 대기할 뿐입니다.
팁: 윈 토토환경 변수를 검색합니다PSQL_EDITOR, 편집자, 그리고영상(순서대로) 사용할 편집기입니다. 모두 설정되지 않은 경우,/bin/vi실행 중입니다.
인수를 다음으로 구분하여 표준 출력에 인쇄합니다. 한 칸 띄우고 그 뒤에 개행 문자가 옵니다. 이는 다음과 같은 경우에 유용할 수 있습니다. 스크립트 출력에 정보를 삽입합니다. 에 대한 예:
=\echo `날짜`화 10월 26일 21:40:57 CEST 1999첫 번째 인수가 인용되지 않은 경우-n후행 줄 바꿈은 작성되지 않습니다.
팁:만약 당신이 다음을 사용한다면\o사용하려는 쿼리 출력을 리디렉션하는 명령\qecho이 명령 대신에.
멀티바이트를 사용하는 경우 클라이언트 인코딩을 설정합니다 인코딩. 인수 없이 이 명령은 다음을 보여줍니다. 현재 인코딩.
정렬되지 않은 쿼리 출력에 대한 필드 구분 기호를 설정합니다. 는 기본값은 “입니다|” (“파이프” 기호). 또한 참조하세요\pset일반적인 방법으로 출력 옵션을 설정합니다.
현재 쿼리 입력 버퍼를 백엔드로 보내고 선택적으로 출력을 다음 위치에 저장합니다.파일 이름또는 출력을 실행할 별도의 Unix 셸명령. 베어\g은 사실상 세미콜론과 동일합니다. 갑\g인수 포함은 "원샷"입니다. 의 대안\o명령.
지정된 구문 도움말 제공SQL명령. 만일명령지정되지 않은 경우윈 토토모든 항목을 나열합니다. 구문 도움말을 사용할 수 있는 명령입니다. 만일명령별표("*")인 경우 모두에 대한 구문 도움말SQL명령 표시됩니다.
참고:입력을 단순화하기 위해 다음으로 구성된 명령은 여러 단어를 인용할 필요는 없습니다. 그러니까 괜찮아요 입력하다\도움말 변경 테이블.
켜짐HTML쿼리 출력 형식. 만약HTML형식은 다음과 같습니다 이미 켜져 있으면 기본 정렬 텍스트로 다시 전환됩니다. 형식. 이 명령은 호환성과 편의성을 위한 것입니다. 하지만 보세요\pset기타 설정 정보 출력 옵션.
파일에서 입력을 읽습니다.파일 이름그리고 마치 실행하는 것처럼 키보드로 입력되었습니다.
참고:화면의 줄을 보고 싶다면 읽을 때 변수를 설정해야 합니다.에코에전체.
서버에 있는 모든 데이터베이스와 그 데이터베이스를 나열합니다. 소유자. 명령 이름에 "+"를 추가하면 해당 내용을 볼 수 있습니다. 데이터베이스에 대한 설명도 마찬가지입니다. 만약 당신의포스트그레설치는 다음으로 컴파일되었습니다. 멀티바이트 인코딩 지원, 각 인코딩 구성표 데이터베이스도 표시됩니다.
다음으로 큰 개체를 읽습니다.OID 로이드데이터베이스에서 가져와서 씁니다.파일 이름. 이건 미묘하니 참고하세요 서버 기능과 다름lo_export, 다음의 권한으로 작동합니다. 데이터베이스 서버가 서버에서 실행되는 사용자 파일 시스템.
팁:사용\lo_list찾다 대형 객체 밖으로OID.
참고:설명 보기LO_TRANSACTION중요한 변수 모든 대형 개체 작업에 관한 정보입니다.
파일을 다음에 저장합니다.포스트그레스"대형 개체". 선택적으로, 그것은 주어진 주석을 객체와 연관시킵니다. 예:
foo=\lo_import '/home/peter/pictures/photo.xcf' '내 사진'lo_import 152801응답은 대형 객체가 객체를 수신했음을 나타냅니다. 액세스하려는 경우 ID 152801을 기억해야 합니다. 다시는 반대하지 마세요. 그렇기 때문에 항상 다음을 수행하는 것이 좋습니다. 사람이 읽을 수 있는 주석을 모든 객체와 연결합니다. 그것들은 할 수 있다 그런 다음\lo_list명령.
이 명령은 다음 명령과 미묘하게 다르다는 점에 유의하십시오. 서버측lo_import왜냐하면 그것은 로컬 사용자가 아닌 로컬 파일 시스템에서 로컬 사용자 역할을 합니다. 서버의 사용자 및 파일 시스템.
참고:설명 보기LO_TRANSACTION중요한 변수 모든 대형 개체 작업에 관한 정보입니다.
전체 목록을 표시합니다포스트그레현재 "대형 개체" 소유자와 함께 데이터베이스에 저장됩니다.
다음으로 큰 개체를 삭제합니다.OID 로이드데이터베이스에서.
팁:사용\lo_list찾다 대형 객체 밖으로OID.
참고:설명 보기LO_TRANSACTION중요한 변수 모든 대형 개체 작업에 관한 정보입니다.
향후 쿼리 결과를 파일에 저장파일 이름또는 향후 결과를 실행할 별도의 Unix 셸명령. 인수가 지정되지 않은 경우 쿼리 출력은 다음과 같이 재설정됩니다.stdout.
"쿼리 결과"에는 모든 테이블, 명령 응답, 데이터베이스 서버로부터 얻은 통지 및 데이터베이스를 쿼리하는 다양한 백슬래시 명령의 출력 (예:\d), 그러나 오류는 아님 메시지.
팁:질의 사이에 텍스트 출력을 삽입하려면 결과, 사용\qecho.
현재 쿼리 버퍼를 표준 출력으로 인쇄합니다.
이 명령은 쿼리 출력에 영향을 미치는 옵션을 설정합니다 결과 테이블.매개변수설정할 옵션을 설명합니다. 의 의미론값그것에 의존하세요.
조정 가능한 인쇄 옵션은 다음과 같습니다:
출력 형식을 다음 중 하나로 설정정렬되지 않음, 정렬, html또는라텍스. 고유한 약어는 다음과 같습니다. 허용됩니다. (즉, 한 글자면 충분하다는 의미입니다.)
"정렬되지 않음"은 튜플의 모든 필드를 한 줄에 씁니다. 현재 활성 필드 구분 기호로 구분됩니다. 이 의도된 출력을 생성하기 위한 것입니다. 다른 프로그램에서 읽기(탭으로 구분, 쉼표로 구분). "Aligned" 모드가 표준이며, 사람이 읽을 수 있고 형식이 좋은 텍스트 출력입니다. 기본값. “HTML” 그리고 "LaTeX" 모드는 의도된 테이블을 출력합니다. 해당 마크업을 사용하는 문서에 포함됨 언어. 완전한 문서가 아닙니다! (이것은 아마도 너무 드라마틱하게 굴지 마세요HTML, 하지만 LaTeX에서는 완전한 문서가 있어야 합니다. 래퍼.)
두 번째 인수는 숫자여야 합니다. 일반적으로, 숫자가 높을수록 테이블에 테두리와 선이 더 많아집니다. 있지만 이는 특정 형식에 따라 다릅니다. 에서HTML모드, 이것은 다음으로 직접 번역하세요.테두리=...속성, 기타에만 해당 값 0(경계 없음), 1(내부 구분선) 및 2 (테이블 프레임) 말이 됩니다.
일반 형식과 확장 형식 사이를 전환합니다. 언제 확장 형식이 활성화되면 모든 출력에 두 개의 열이 있습니다. 왼쪽에는 필드 이름이 있고 왼쪽에는 데이터가 있습니다. 맞아. 이 모드는 데이터가 맞지 않는 경우에 유용합니다. 일반 "수평" 모드의 화면.
확장 모드는 4개 출력 모두에서 지원됩니다. 모드.
두 번째 인수는 인쇄되어야 하는 문자열입니다 필드가 null일 때마다. 기본값은 인쇄하지 않는 것입니다. 비어 있는 것으로 쉽게 오해될 수 있는 모든 것 문자열. 따라서 다음과 같이 작성하는 것을 선택할 수 있습니다.\pset null "(null)".
정렬되지 않은 필드 구분 기호를 지정합니다. 출력 모드. 그런 식으로 예를 들어 탭을 만들 수 있습니다. 또는 쉼표로 구분된 출력(다른 프로그램에서는 선호합니다. 탭을 필드 구분 기호로 설정하려면 다음을 입력하세요.\pset fieldep "\t". 기본 필드 구분 기호는 "입니다.|” (“파이프” 기호).
다음에서 사용할 레코드(줄) 구분 기호를 지정합니다. 정렬되지 않은 출력 모드. 기본값은 줄바꿈입니다. 문자.
튜플만 표시와 전체 표시 사이를 전환합니다. 전체 디스플레이에는 열과 같은 추가 정보가 표시될 수 있습니다. 머리글, 제목, 다양한 바닥글. 튜플에서만 모드에서는 실제 테이블 데이터만 표시됩니다.
이후 인쇄되는 테이블 제목을 설정합니다 테이블. 이는 출력에 대한 설명을 제공하는 데 사용될 수 있습니다. 태그. 인수가 제공되지 않으면 제목이 설정되지 않습니다.
참고:이전에는 이것만 영향을 받았습니다.HTML모드. 이제 설정할 수 있습니다 모든 출력 형식의 제목.
당신이 배치할 속성을 지정할 수 있습니다 내부HTML 테이블태그. 예를 들어 다음과 같습니다.셀패딩또는bgcolor. 아마도 당신은 원하지 않을 것입니다. 지정하다경계여기서, 그렇게 이미 처리되었습니다.\pset 국경.
페이저 목록을 토글하여 테이블 출력을 수행합니다. 만약 환경 변수호출기설정되었습니다. 출력은 지정된 프로그램으로 파이프됩니다. 그렇지 않으면더보기사용됩니다.
어쨌든,윈 토토적절하다고 판단되는 경우에만 호출기를 사용합니다. 즉 무엇보다도 출력이 터미널로 전달되고 테이블은 일반적으로 화면에 맞지 않습니다. 인쇄 루틴의 모듈식 특성으로 인해 줄 수를 예측하는 것이 항상 가능한 것은 아닙니다. 실제로 인쇄될 것입니다. 그런 이유로윈 토토나타나지 않을 수도 있습니다 호출기를 언제 사용할지, 언제 사용할지에 대해 매우 분별력이 있습니다. 안 돼.
팁:다음에 대한 다양한 단축키 명령이 있습니다.\pset. 참조\a, \C, \H, \t, \T및\x.
참고:호출하는 것은 오류입니다\pset인수 없음. 앞으로도 이 호출하면 모든 인쇄의 현재 상태가 표시될 수 있습니다. 옵션.
그만두세요윈 토토프로그램.
이 명령은 다음과 동일합니다.\에코단, 모든 출력은 쿼리 출력에 기록됩니다. 채널(설정됨)\o.
쿼리 버퍼를 재설정(삭제)합니다.
명령줄 기록을 인쇄하거나 다음으로 저장파일 이름. 만일파일 이름생략되었으며 기록은 표준 출력에 기록됩니다. 이 옵션은 만일윈 토토을 사용하도록 구성되었습니다.GNU역사 도서관.
참고:현재윈 토토버전 7.0에서는 더 이상 명령을 저장할 필요가 없습니다. 기록은 프로그램에서 자동으로 수행되므로 종료. 기록은 매 순간 자동으로 로드됩니다. 시간윈 토토시작합니다.
내부 변수 설정이름에값또는 둘 이상의 값이 다음과 같은 경우 주어진, 그들 모두의 연결에. 두 번째가 아니라면 인수가 주어지면 변수는 값 없이 설정됩니다. 받는 사람 변수를 설정 해제하려면를 사용하세요.\unset명령.
유효한 변수 이름에는 문자, 숫자 및 숫자가 포함될 수 있습니다. 밑줄. 관련 섹션을 참조하세요.윈 토토자세한 내용은 변수를 참조하세요.
어떤 변수든 무엇이든 설정할 수 있지만 당신이 원하는,윈 토토대접하다 여러 변수를 특수하게 사용합니다. 그들은에 문서화되어 있습니다 변수에 관한 섹션입니다.
참고:이 명령은 다음 명령과 완전히 별개입니다.SQL명령사설 토토 사이트 PostgreSQL : 문서 : 7.0 : 세트.
출력 열 이름 제목 및 행 표시를 토글합니다 바닥글 계산. 이 명령은 다음과 같습니다.\pset tuples_only다음을 위해 제공됩니다. 편리함.
다음에 배치할 옵션을 지정할 수 있습니다.테이블태그 인HTML테이블 형식 출력 모드. 이 명령은 에 해당함\pset tableattrtable_options.
현재 쿼리 버퍼를 파일에 출력파일 이름또는 Unix로 파이프 명령명령.
확장 행 형식 모드를 토글합니다. 따라서 그것은 동등하다. 에\pset 확장됨.
데이터베이스의 모든 테이블 목록을 생성합니다. 적절한 액세스 권한이 나열됩니다. 인수가 다음과 같은 경우 주어진 것은 다음을 제한하는 정규식으로 간주됩니다. 일치하는 테이블을 나열합니다.
테스트=\z데이터베이스 "test"에 대한 접근 권한 관계 | 접근 권한 --------+------------ 내 테이블 | "=r","joe=arwR", "그룹 직원=ar"다음과 같이 읽으십시오:
"=r": 공개읽었습니다(선택) 테이블에 대한 권한입니다.
"joe=arwR": 사용자조읽고 썼습니다(업데이트, 삭제), "추가"(삽입) 권한 및 테이블에 규칙을 생성할 수 있는 권한입니다.
"그룹 직원=ar": 그룹직원있음선택그리고삽입허가.
명령어PostgreSQL : 문서 : 7.0 : 범퍼카 토토그리고윈 토토 PostgreSQL : 문서 : 7.0 : 취소사용됩니다 액세스 권한을 설정합니다.
별도의 Unix 쉘로 탈출하거나 Unix를 실행합니다. 명령명령. 는 인수는 더 이상 해석되지 않으며 쉘은 그대로.
슬래시("\") 명령에 대한 도움말 정보를 얻으세요.
그렇게 구성된 경우,윈 토토표준 Unix 짧은 옵션을 모두 이해하며GNU-스타일 긴 옵션. 후자는 그렇지 않다 모든 시스템에서 사용할 수 있습니다.
읽은 모든 줄을 화면에 인쇄합니다. 이 대화형보다는 스크립트 처리에 더 유용합니다. 모드. 이는 변수를 설정하는 것과 같습니다.에코에전체.
정렬되지 않은 출력 모드로 전환합니다. (기본 출력 그렇지 않으면 모드가 정렬됩니다.)
다음을 지정합니다윈 토토다음에 하나의 쿼리 문자열을 실행합니다.질의하고 종료합니다. 이는 다음에서 유용합니다. 쉘 스크립트.
질의다음 중 하나여야 합니다. 백엔드에서 완전히 구문 분석할 수 있는 쿼리 문자열 (즉, no를 포함합니다.윈 토토특정 기능) 또는 단일 백슬래시 명령입니다. 따라서 섞을 수 없어요SQL그리고윈 토토메타 명령. 받는 사람 이를 달성하려면 문자열을 파이프로 연결할 수 있습니다.윈 토토, 다음과 같습니다:echo "\x \\ foo에서 *를 선택하세요;" | 윈 토토.
연결할 데이터베이스의 이름을 지정합니다. 이것은 지정하는 것과 동일함db이름첫 번째 비옵션 인수로 명령줄에서.
백엔드로 전송된 모든 쿼리를 표시합니다. 이것은 변수 설정과 동일에코에쿼리.
\d 및 기타에 의해 생성된 실제 쿼리를 반영합니다. 백슬래시 명령. 포함하고 싶다면 이것을 사용할 수 있습니다 유사한 기능을 자신의 프로그램에 추가하세요. 이것은 변수 설정과 동일ECHO_HIDDEN내부에서윈 토토.
파일 사용파일 이름다음과 같이 쿼리를 읽는 대신 쿼리 소스 대화식으로. 파일이 처리된 후,윈 토토종료됩니다. 이는 여러모로 내부 명령과 동일\i.
이 옵션을 사용하는 것은 글쓰기와 미묘하게 다릅니다윈 토토 <파일 이름. 일반적으로 둘 다 수행합니다. 당신이 기대하는 것, 그러나 사용하는 것-f오류 메시지와 같은 멋진 기능을 줄로 활성화합니다. 숫자. 이 옵션을 사용하면 약간의 가능성도 있습니다. 시작 오버헤드가 줄어듭니다. 반면, 쉘의 입력 리디렉션을 사용하는 변형은 (이론적으로) 당신이 원하는 것과 똑같은 출력을 보장합니다. 당신이 모든 것을 손으로 입력했다는 것을 알았습니다.
사용구분자필드로 구분 기호. 이는 다음과 같습니다.\pset 필드ep또는\f.
다음이 실행되는 시스템의 호스트 이름을 지정합니다.우체국장실행 중입니다. 이 옵션이 없으면 로컬을 사용하여 통신이 수행됩니다. Unix 도메인 소켓.
켜짐HTML테이블 형식 출력. 이는 다음과 같습니다.\pset 형식 HTML또는\H명령.
사용 가능한 모든 데이터베이스를 나열한 후 종료합니다. 기타 비연결 옵션은 무시됩니다. 이는 다음과 유사합니다. 내부 명령\목록.
모든 쿼리 결과를 파일에 저장파일 이름. 이는 다음과 같습니다. 명령\o.
TCP/IP 포트를 지정하거나 생략 시 로컬 Unix를 지정합니다. 도메인 소켓 파일 확장자:우체국장연결을 수신 중입니다. 기본값은PGPORT환경 변수 또는 설정되지 않은 경우 다음에 지정된 포트 컴파일 시간은 일반적으로 5432입니다.
다음 스타일로 인쇄 옵션을 지정할 수 있습니다.\pset명령줄에서. 참고하세요 여기서는 이름과 값을 등호로 구분해야 합니다. 공백 대신. 따라서 출력 형식을 LaTeX로 설정하려면, 당신은 쓸 수 있습니다-P 형식=라텍스.
다음을 지정합니다윈 토토조용히 작업을 수행해야 합니다. 기본적으로 Welcome을 인쇄합니다. 메시지 및 다양한 정보 출력. 만약 이 옵션이 사용하면 이런 일이 발생하지 않습니다. 이는 다음과 같은 경우에 유용합니다.-c옵션. 이내윈 토토다음을 설정할 수도 있습니다조용함동일한 효과를 얻기 위한 변수입니다.
사용구분자으로 기록 구분 기호. 이는 다음과 같습니다.\pset 기록ep명령.
단일 단계 모드로 실행합니다. 이는 사용자에게 메시지가 표시됨을 의미합니다. 각 쿼리가 백엔드로 전송되기 전에 다음 옵션을 사용합니다. 실행도 취소합니다. 이를 사용하여 스크립트를 디버깅합니다.
개행 문자가 끝나는 단일 행 모드에서 실행됩니다. 쿼리는 세미콜론과 같습니다.
참고:이 모드는 고집하는 사람들을 위해 제공됩니다. 그러나 반드시 사용하도록 권장되는 것은 아닙니다. 에서 특히, 혼합하는 경우SQL그리고 실행 순서가 그렇지 않을 수도 있는 라인의 메타 명령 경험이 없는 사용자에게는 항상 명확하게 설명하십시오.
열 이름 및 결과 행 개수 인쇄 끄기 바닥글 등은와 완전히 동일합니다.\t메타 명령.
당신이 옵션을 지정할 수 있게 해줍니다.HTML 테이블태그. 참조\pset자세한 내용은.
만든다윈 토토다음에 대한 프롬프트 데이터베이스에 연결하기 전에 사용자 이름과 비밀번호를 입력하세요.
이 옵션은 개념적으로 결함이 있기 때문에 더 이상 사용되지 않습니다. (기본값이 아닌 사용자 이름을 묻는 메시지와 백엔드에서 요구하는 비밀번호는 실제로 두 개입니다. 다른 내용이 있습니다.) 다음을 살펴보는 것이 좋습니다.-유그리고-W대신 옵션을 사용하세요.
사용자로 데이터베이스에 연결합니다.사용자 이름기본값 대신. (당신 물론 그렇게 하려면 허가가 있어야 합니다.)
다음과 같은 변수 할당을 수행합니다.\세트내부 명령. 참고하세요 이름과 값(있는 경우)을 등호로 구분합니다. 명령줄. 변수를 설정 해제하려면 등호를 생략하세요. 이러한 할당은 매우 초기 상태에서 수행됩니다. 시작하므로 내부 목적으로 예약된 변수는 나중에 덮어쓰세요.
다음을 보여줍니다윈 토토버전.
요청합니다윈 토토해야 한다 데이터베이스에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다. 이 변경하더라도 전체 세션에 대해 설정된 상태로 유지됩니다. 메타 명령을 사용한 데이터베이스 연결\연결.
버전 7.0부터,윈 토토백엔드가 실행될 때마다 자동으로 비밀번호 프롬프트를 표시합니다. 비밀번호 인증을 요청합니다. 왜냐면 현재는 "해킹"을 기반으로 자동 인식이 가능합니다. 알 수 없는 실패가 발생하므로 이 옵션은 프롬프트를 강제로 표시합니다. 그렇지 않은 경우 비밀번호 프롬프트가 발행되고 백엔드에 비밀번호가 필요합니다. 인증 연결 시도가 실패합니다.
확장 행 형식 모드를 켭니다. 이는 다음과 같습니다. 명령\x.
시작 파일을 읽지 마십시오.~/.윈 토토rc.
다음에 대한 도움말 표시윈 토토명령줄 인수.
윈 토토변수 제공 일반적인 Unix 명령 셸과 유사한 대체 기능입니다. 이 기능은 새롭고 아직 정교하지는 않지만 앞으로 확대할 계획이다. 변수는 단순히 이름/값 쌍(여기서 값은 임의의 문자열일 수 있음) 길이. 변수를 설정하려면윈 토토메타 명령\세트:
testdb=\set foo bar변수 "foo"를 "bar" 값으로 설정합니다. 검색하려면 변수의 내용은 이름 앞에 콜론을 붙여서 사용하세요. 슬래시 명령의 인수로:
testdb=\echo :foo바
참고:인수\세트다른 것과 동일한 대체 규칙이 적용됩니다. 명령. 따라서 다음과 같은 흥미로운 참고 자료를 구성할 수 있습니다. 와 같이\set :foo '뭔가'그리고 얻으세요 "소프트 링크" 또는 "변수 변수"펄또는PHP각각 명성을 얻었습니다. 안타깝게도(혹은 다행스럽게도?) 할 수 있는 방법이 없습니다. 이러한 구성에 유용한 모든 것. 반면에\설정 바 :foo완벽하게 유효합니다 변수를 복사하는 방법입니다.
부르신다면\세트1초도 없이 인수인 경우 변수는 단순히 설정되지만 값은 없습니다. 받는 사람 변수를 설정 해제(또는 삭제)하려면 다음 명령을 사용하세요.\unset.
윈 토토의 내부 변수 이름은 문자, 숫자, 밑줄로 구성될 수 있습니다. 주문하고 원하는 수만큼 주문하세요. 다수의 일반 변수는 다음과 같습니다. 특별 대우윈 토토. 이는 다음에서 변경할 수 있는 특정 옵션 설정을 나타냅니다. 변수 값을 변경하거나 일부를 표현하여 런타임 응용 프로그램의 상태입니다. 이러한 변수를 사용할 수 있지만 다른 목적으로는 권장되지 않습니다. 행동이 정말 빨리 이상해 질 수 있습니다. 작성자: 관례상 특별히 처리되는 모든 변수는 다음과 같이 구성됩니다. 대문자(숫자와 밑줄도 가능). 받는 사람 앞으로는 최대한의 호환성을 보장하고 그러한 것을 피하십시오. 변수. 특별히 처리된 모든 변수 목록 다음과 같습니다.
현재 연결되어 있는 데이터베이스의 이름. 이는 데이터베이스(포함)에 연결할 때마다 설정됩니다. 프로그램 시작), 설정을 해제할 수 있습니다.
“로 설정된 경우모두", 모든 라인 입력되거나 스크립트에서 표준 출력에 기록됩니다. 구문 분석되거나 실행되기 전에. 이것을 지정하려면 프로그램 시작, 스위치를 사용하십시오-a. “로 설정된 경우쿼리”, 윈 토토단지 모든 쿼리를 그대로 인쇄합니다. 백엔드로 전송됩니다. 이에 대한 옵션은 다음과 같습니다.-e.
이 변수가 설정되고 백슬래시 명령이 데이터베이스를 쿼리하면 쿼리가 먼저 표시됩니다. 이쪽으로 당신은 공부할 수 있습니다포스트그레스내부에 유사한 기능을 제공하고 자체적으로 유사한 기능을 제공합니다. 프로그램. 변수에 "noexec" 값을 설정하면 쿼리는 표시되기만 하고 실제로는 전송되지 않습니다. 백엔드 및 실행되었습니다.
현재 클라이언트 멀티바이트 인코딩입니다. 당신이 그렇지 않다면 멀티바이트 문자를 사용하도록 설정하면 이 변수는 항상 "SQL_ASCII"를 포함합니다.
이 변수가 다음으로 설정된 경우무시 공간, 공백으로 시작하는 줄 기록 목록에 입력되지 않습니다. 값으로 설정된 경우무시됨, 일치하는 행 이전 기록 라인은 입력되지 않습니다. 값은둘 다 무시둘을 결합합니다 옵션. 설정되지 않거나 해당 값이 아닌 다른 값으로 설정된 경우 위에서 대화형 모드에서 읽은 모든 줄은 기록 목록입니다.
참고:이 기능은 뻔뻔스럽게 표절되었습니다 에서배시.
명령 기록에 저장할 명령 수. 기본값은 500입니다.
참고:이 기능은 뻔뻔스럽게 표절되었습니다 에서배시.
현재 연결되어 있는 데이터베이스 서버 호스트. 이는 데이터베이스(포함)에 연결할 때마다 설정됩니다. 프로그램 시작), 설정을 해제할 수 있습니다.
설정되지 않은 경우 EOF 문자 보내기(일반적으로 Control-D) 대화형 세션으로윈 토토애플리케이션을 종료합니다. 숫자 값으로 설정하면 해당 개수의 EOF 문자가 애플리케이션이 종료되기 전에는 무시됩니다. 변수인 경우 설정되어 있지만 숫자 값이 없습니다. 기본값은 10입니다.
참고:이 기능은 뻔뻔스럽게 표절되었습니다 에서배시.
마지막으로 영향을 받은 oid의 값, 에서 반환됨삽입또는lo_insert명령. 이 변수는 단지 다음 결과 이후까지 유효함을 보장함SQL명령이 수행되었습니다. 표시됩니다.
다음을 사용하는 경우포스트그레특별히 데이터를 저장하는 대형 객체 인터페이스 하나의 튜플에 맞지 않으면 모든 작업이 다음과 같아야 합니다. 트랜잭션 블록에 포함되어 있습니다. (문서를 참조하십시오. 자세한 내용은 대형 객체 인터페이스를 참조하세요.) 이후윈 토토알 수 있는 방법이 없습니다. 전화하실 때 이미 거래가 진행 중입니다. 내부 명령 중 하나\lo_export, \lo_import, \lo_unlink임의의 조치를 취해야 합니다. 이 조치는 이미 발생한 트랜잭션을 롤백하는 것입니다. 진행 중이거나, 그러한 거래를 커밋하거나, 전혀 아무것도. 마지막 경우에는 직접 제공해야 합니다.거래 시작/커밋차단하지 않으면 결과는 다음과 같습니다. 예측할 수 없음(일반적으로 원하는 작업의 결과가 발생함) 어떠한 경우에도 수행되지 않습니다.)
원하는 작업을 선택하려면 이 변수를 다음으로 설정하세요. "롤백", "커밋" 또는 "없음" 중 하나입니다. 기본값은 트랜잭션을 롤백합니다. 하나만 로드하고 싶다면 또는 몇 가지 개체는 괜찮습니다. 그러나, 만약 당신이 의도하고 있다면 많은 대형 개체를 전송하는 경우 다음을 수행하는 것이 좋습니다. 모든 항목에 대해 하나의 명시적인 트랜잭션 블록을 제공합니다. 명령.
기본적으로 비대화형 스크립트에서 잘못된 형식과 같은 오류SQL쿼리 또는 내부 메타 명령, 처리가 계속됩니다. 이 의 전통적인 행동이었습니다.윈 토토하지만 때로는 그렇지 않을 때도 있습니다 바람직하다. 이 변수가 설정되면 스크립트 처리가 수행됩니다. 즉시 종료합니다. 스크립트가 다음에서 호출된 경우 다른 스크립트도 같은 방식으로 종료됩니다. 만약에 가장 바깥쪽 스크립트가 대화형에서 호출되지 않았습니다.윈 토토세션이 아니라 오히려 를 사용하여-f옵션,윈 토토오류를 반환합니다 코드 3, 이 경우를 치명적인 오류와 구별하기 위한 것입니다. 조건(오류 코드 1).
현재 접속하고 있는 데이터베이스 서버 포트 연결되었습니다. 데이터베이스에 연결할 때마다 설정됩니다. (프로그램 시작 포함), 설정 해제할 수 있습니다.
이것은 프롬프트가 무엇인지 지정합니다윈 토토문제는 다음과 같습니다. “를 참조하세요프롬프트” 아래.
이 변수는 명령줄 옵션과 동일합니다.-q. 아마 너무 아닐 거예요 대화형 모드에서 유용합니다.
이 변수는 명령줄 옵션에 의해 설정됩니다.-S. 설정을 해제하거나 재설정할 수 있습니다. 런타임에.
이 변수는 명령줄 옵션과 동일합니다.-s.
현재 연결되어 있는 데이터베이스 사용자. 이 데이터베이스에 연결할 때마다 설정됩니다(포함). 프로그램 시작), 설정을 해제할 수 있습니다.
추가로 유용한 기능윈 토토변수는 대체할 수 있다는 것입니다 ("보간") 정규로SQL문장. 이것에 대한 구문은 다시 변수 이름 앞에 콜론()을 추가하려면:).
testdb=\set foo 'my_table'testdb=SELECT * FROM :foo;그런 다음 테이블을 쿼리합니다내_테이블. 변수의 값은 문자 그대로 복사되므로 불균형한 따옴표나 백슬래시 명령이 포함되어 있습니다. 반드시 확인해야 합니다. 어디에 두느냐가 의미가 있다는 것입니다. 변수 보간은 인용되지 않음SQL엔티티.
이 시설의 널리 사용되는 응용은 다음을 참조하는 것입니다. 마지막으로 삽입됨OID다음에 외래 키 시나리오를 작성하는 명령문입니다. 또 다른 가능한 용도 이 메커니즘은 파일의 내용을 필드. 먼저 파일을 변수에 로드한 다음 다음과 같이 진행합니다. 위.
testdb=\세트 콘텐츠 '\'' `cat my_file.txt` '\''testdb=my_table 값에 삽입(:content);이 접근 방식의 한 가지 가능한 문제는 다음과 같습니다.my_file.txt단일을 포함할 수 있음 따옴표. 이러한 오류가 발생하지 않도록 이스케이프 처리해야 합니다. 세 번째 줄을 처리할 때 구문 오류가 발생했습니다. 이것은 프로그램 완료sed:
testdb=\세트 콘텐츠 `sed -e "s/'/\\\\\\'/g" < my_file.txt`정확한 백슬래시 수(6)를 확인하십시오! 당신은 할 수 있습니다 다음 방법으로 해결하세요. 이후윈 토토이 줄을 구문 분석했으며 통과했습니다.sed -e "s/'/\\\'/g" < my_file.txt쉘에. 쉘이 할 것이다 큰 따옴표 안에 자신의 것이 있고 실행하십시오.sed인수 포함-e그리고s/'/\\'/g. 언제sed이것을 분석하면 두 개를 대체합니다. 백슬래시를 하나만 사용한 다음 대체를 수행합니다. 아마도 한때 당신은 모든 Unix 명령이 사용하는 것이 훌륭하다고 생각했습니다. 동일한 이스케이프 문자입니다. 그리고 이것은 당신이 모든 백슬래시를 이스케이프해야 할 수도 있습니다. 왜냐하면SQL텍스트 상수는 또한 특정 해석이 적용됩니다. 그렇다면 당신은 그럴 수도 있습니다. 외부에서 파일을 준비하는 것이 좋습니다.
콜론이 쿼리에 합법적으로 나타날 수 있으므로 다음은 규칙 적용: 변수가 설정되지 않은 경우 문자는 시퀀스 "콜론+이름"은 변경되지 않습니다. 어쨌든 당신은 할 수 있습니다 콜론을 보호하려면 백슬래시를 사용하여 콜론을 이스케이프하세요. 해석. (변수의 콜론 구문은 표준입니다.SQL내장된 쿼리 언어의 경우, 같은ecpg. 콜론 구문 배열 슬라이스 및 유형 캐스트의 경우는 다음과 같습니다.포스트그레스확장, 따라서 충돌.)
프롬프트윈 토토문제는 다음과 같습니다. 원하는 대로 맞춤 설정하세요. 세 가지 변수PROMPT1, PROMPT2, 그리고PROMPT3문자열 및 특수 문자 포함 프롬프트의 모양을 설명하는 이스케이프 시퀀스입니다. 프롬프트 1은 다음과 같은 경우에 발행되는 일반 프롬프트입니다.윈 토토새 쿼리를 요청합니다. 프롬프트 2는 쿼리 입력 중에 더 많은 입력이 예상되는 경우 발행됩니다. 쿼리가 세미콜론으로 끝나지 않았거나 따옴표가 있습니다. 닫히지 않았습니다. 프롬프트 3은 다음을 실행할 때 발행됩니다.SQL 복사명령 및 터미널에 튜플을 입력해야 합니다.
해당 프롬프트 변수의 값이 인쇄됩니다 문자 그대로, 퍼센트 기호("%")가 나타나는 경우를 제외하고. 다음 문자에 따라 특정 다른 텍스트가 대신에. 정의된 대체 항목은 다음과 같습니다.
데이터베이스의 전체 호스트 이름(도메인 이름 포함) 서버(또는 호스트 이름 정보가 없으면 "localhost") 가능).
데이터베이스 서버의 호스트 이름, 다음에서 잘림 첫 번째 점.
데이터베이스 서버가 연결된 포트 번호 듣고 있어요.
연결된 사용자 이름(로컬 시스템 아님) 사용자 이름).
현재 데이터베이스의 이름.
좋아요%/, 그러나 출력은 "~"입니다. (물결표) 데이터베이스가 기본 데이터베이스인 경우.
현재 사용자가 데이터베이스 수퍼유저인 경우 "#", 그렇지 않으면 ""입니다.
프롬프트 1에서는 일반적으로 "="이지만 한 줄인 경우 "^"입니다. 모드, 그리고 “!” 세션이 연결 해제된 경우 데이터베이스(다음과 같은 경우에 발생할 수 있음)\연결실패). 프롬프트 2의 순서는 다음과 같습니다. "-", "*", 작은따옴표 또는 큰따옴표로 대체됩니다. 여부에 따라윈 토토쿼리가 아직 종료되지 않았기 때문에 더 많은 입력이 필요합니다. 당신은 a 안에 있기 때문에/* ... */댓글을 달거나 인용문 안에 있기 때문입니다. 프롬프트 3에서는 시퀀스는 아무것도 해결되지 않습니다.
만약숫자다음으로 시작0x나머지 문자는 16진수 숫자와 다음 문자로 해석됩니다. 해당 코드가 대체됩니다. 첫 번째 숫자가 다음과 같은 경우:0문자가 해석됩니다 8진수와 같고 해당 문자는 다음과 같습니다. 대체. 그렇지 않으면 십진수가 가정됩니다.
값은윈 토토, 변수이름. 참조 섹션 “변수” 에 대한 세부사항.
의 출력명령, 일반적인 "백틱" 대체와 유사합니다.
참고:이 기능은 다음에서 뻔뻔스럽게 표절되었습니다.tcsh.
윈 토토셸에 0을 반환합니다. 정상적으로 완료되면 1, 자체적으로 치명적인 오류가 발생하면 1입니다. 메모리, 파일을 찾을 수 없음)이 발생합니다. 2 백엔드가 손상되어 세션이 대화형이 아니며 3인 경우 스크립트 및 변수에서 오류가 발생했습니다.ON_ERROR_STOP설정되었습니다.
시작하기 전에,윈 토토파일에서 명령을 읽고 실행하려고 시도합니다.$HOME/.윈 토토rc. 이는 다음을 설정하는 데 사용될 수 있습니다. 맛볼 클라이언트 또는 서버(\세트그리고세트명령).
윈 토토readline을 지원합니다 편리한 라인 편집을 위한 히스토리 라이브러리 및 검색. 명령 기록은라는 파일에 저장됩니다..윈 토토_history홈 디렉토리에 다음 경우에 다시 로드됩니다.윈 토토시작합니다. 탭 완성도 지원됩니다. 완료 논리는 다음과 같은 주장을 하지 않습니다.SQL파서. 가능한 경우,윈 토토이를 사용하도록 자동으로 구축되었습니다. 특징. 어떤 이유로 탭이 마음에 들지 않는 경우 완료되면 이것을 이름이 지정된 파일에 넣어서 끌 수 있습니다..inputrc홈 디렉토리:
$if 윈 토토 비활성화 완료 설정 $endif(이것은 a가 아닙니다.윈 토토그러나 areadline기능. 읽어보세요 자세한 내용은 문서를 참조하세요.)
readline 라이브러리가 설치되어 있지만윈 토토사용하지 않는 것 같습니다. 반드시 사용해야 합니다 확실히 해두세요포스트그레의 최상위구성스크립트가 그것을 찾았습니다.구성두 가지를 모두 찾아야 합니다. 도서관libreadline.a(또는 공유 라이브러리에 해당)그리고헤더 파일readline.h그리고역사.h(또는readline/readline.h그리고readline/history.h)을 적절한 디렉토리에 넣습니다. 라이브러리와 헤더 파일이 설치된 경우 당신이 말해야 할 모호한 장소구성그들에 대해, 예를 들어:
$ ./configure --with-includes=/opt/gnu/include --with-libs=/opt/gnu/lib ...그럼 다시 컴파일해야 합니다윈 토토(반드시 전체 코드 트리일 필요는 없음).
그GNUreadline 라이브러리는 다음과 같습니다. 에서 얻은 것입니다.GNU프로젝트의FTP서버 위치ftp://ftp.gnu.org.
참고:이 섹션에서는 구체적인 몇 가지 예만 보여줍니다. 에윈 토토. 배우고 싶다면SQL또는 익숙해지세요포스트그레, 당신이 원할 수도 있습니다 배포판에 포함된 튜토리얼을 읽어보세요.
첫 번째 예는 쿼리를 여러 항목에 분산시키는 방법을 보여줍니다. 입력 라인. 변경 프롬프트를 확인하세요.
testdb=테이블 my_table 생성(testdb-첫 번째 정수는 null이 아닙니다. 기본값은 0입니다.testdb-두 번째 텍스트testdb-);만들기이제 테이블 정의를 다시 살펴보세요:
testdb=\d my_table테이블 "my_table" 속성 | 유형 | 수정자 ---------+---------+------- 먼저 | 정수 | null이 아님 기본값 0 두 번째 | 텍스트 |이 시점에서 당신은 프롬프트를 다른 것으로 변경하기로 결정했습니다. 더 흥미롭습니다:
testdb=\set PROMPT1 '%n@%m %~%R%# 'peter@localhost testdb=당신이 테이블을 데이터로 채웠고 다음을 원한다고 가정합시다 한번 살펴보세요:
peter@localhost testdb= SELECT * FROM my_table;
먼저 | 둘째
------+---------
1 | 하나
2 | 두
3 | 세
4 | 네
(4행)int4 열이 어떻게 오른쪽 정렬되는지 주목하세요.
열은 왼쪽으로 정렬됩니다. 이 테이블을 다르게 보이게 만들 수 있습니다.
를 사용하여\pset명령.peter@localhost testdb=\pset 테두리 2테두리 스타일은 2입니다.
peter@localhost testdb=SELECT * FROM my_table;+-------+--------+
| 먼저 | 두 번째 |
+---------+---------+
| 1 | 하나 |
| 2 | 두 |
| 3 | 세 |
| 4 | 네 |
+---------+---------+
(4열)
peter@localhost testdb=\pset 테두리 0테두리 스타일은 0입니다.
peter@localhost testdb=SELECT * FROM my_table;첫 번째 두 번째
----- ------
1개
2 2
3 3
4 4
(4열)
peter@localhost testdb=\pset 테두리 1테두리 스타일은 1입니다.
peter@localhost testdb=\pset 형식이 정렬되지 않음출력 형식이 정렬되지 않았습니다.
peter@localhost testdb=\pset fieldep ","필드 구분자는 ","입니다.
peter@localhost testdb=\pset tuples_only튜플만 표시합니다.
peter@localhost testdb=두 번째, 첫 번째 FROM my_table;하나,1
둘, 2
세,3
4,4또는 짧은 명령을 사용하십시오:peter@localhost testdb=\a \t \x출력 형식이 정렬되었습니다. 튜플만 꺼져 있습니다. 확장된 디스플레이가 켜져 있습니다. peter@localhost testdb=SELECT * FROM my_table;-[ 기록 1 ]- 먼저 | 1 두 번째 | 하나 -[ 기록 2 ]- 먼저 | 2 두 번째 | 두 -[ 기록 3 ]- 먼저 | 3 두 번째 | 세 -[ 기록 4 ]- 먼저 | 4 두 번째 | 4개
어느 전생에서윈 토토첫 번째 인수를 다음에 허용했습니다. (단일 문자) 명령 바로 다음에 시작합니다. 에 대한 호환성은 여전히 어느 정도 지원되지만 이 사용법은 여기에서 자세히 설명하지 않겠습니다. 낙담. 하지만 이상한 메시지가 나타나면 이 메시지를 보관하세요. 마음. 예를 들어
testdb=\foo필드 구분 기호는 "oo"입니다.아마도 기대했던 것과는 다를 것입니다.
윈 토토순조롭게 작동합니다 동일한 버전의 서버를 사용합니다. 다른 뜻은 아니지 조합은 완전히 실패하지만 미묘하고 그다지 미묘하지 않은 문제가 발생할 수도 있습니다.
"복사" 중 Control-C 누르기(데이터는 서버) 가장 이상적인 행동을 보여주지 않습니다. 당신이 "PQexec: COPY에서 나가야 합니다"와 같은 메시지를 받습니다. 자신을 진술하세요”라고 입력하면 간단히 다음을 입력하여 연결을 재설정할 수 있습니다.\c - -.