vsql_rest는 데이터베이스 프로세스 안에서 HTTP로 테이블을 제공합니다.
클라이언트는 연결 대신 URL로 행을 읽고, 쿼리 매개변수로 필터링하며, /rpc/
아래에서 저장 함수를 호출합니다. 작성할 애플리케이션도, 실행할 두 번째 프로세스도
없습니다.
설치
설치 스크립트, Docker 이미지 또는 릴리스 tarball로 VillageSQL을 설치했다면vsql_rest.veb는 이미 서버의 lib/veb/ 디렉터리에 있습니다. 문 하나로 서버에
설치하세요:
추가되는 기능
SQL 함수는 추가하지 않습니다.SET GLOBAL로 구성하며, 응답하는 모든 요청은
HTTP로 들어옵니다.
예제
리스너는 시작할 때 데이터베이스 레이아웃을 캐시하고schema_ttl초 동안
유지하므로, 테이블을 먼저 만듭니다:
SET PERSIST로 쓴 설정은 재시작 후에도 유지되지만, UNINSTALL EXTENSION이
이를 삭제합니다. 제거 후 다시 설치하면 모든 설정이 기본값으로 돌아가며, 재시작해도
이전 값은 돌아오지 않습니다.모든 문자열 설정은 서버를 통해 다시 읽히며, 서버는 최대 1022바이트를
반환합니다. 이보다 긴
schema, allowed_tables, allowed_routines,
table_methods, jwt_secret 또는 jwt_public_key는 모든 요청을 500으로
실패하게 하고, 이보다 긴 ssl_cert나 ssl_key는 리스너가 시작되지 못하게
합니다.참고 항목
- 테이블을 REST API로 제공하기 — 필터, 테이블별 메서드, 먼저 바꿔야 할 기본값
- 확장 기능 관리 — 확장 기능 설정을 읽고 쓰는 방법
- 미리 보기 기능 — 미리 보기 플래그가 켜는 것과 보장하는 것
- 사용 가능한 확장 기능 — 전체 카탈로그
- villagesql/vsql-rest — 소스, 전체 경로 구문, 알려진 제한 사항