Repository navigation
Nexa SQL 0.5.0
Nexa SQL 0.5.0
Minor release (rounds 180–221 on Windows and 141–143 on macOS since 0.4.0). Highlights:
- SQL formatter — river (comma-first) alignment (
format.indent_style = river, including subqueries and CASE), PL/SQL block re-indent (format.plsql = indent|full) with dialect tables for Oracle PL/SQL, T-SQL (ELSE IFchains,BEGIN-less IF bodies viaformat.tsql_if_body) and PL/pgSQL$$bodies, and format presets (format.preset: default · kiros33 · river · custom) applied in one click with a 5-second undo; alsonsql fmt --presetandnsql config set format.preset. - Export — streaming export in the GUI and in
nsql export(csv/tsv/json/jsonl/insert written in batches, no full in-memory copy; dialects without server cursors page with OFFSET), new xlsx and parquet formats, and INSERT exports can name the target table. - Driver auto-upgrade — connecting upgrades an installed extension driver when the cached index lists a newer one (
driver.auto_upgrade); the update notice is one line per driver, with an "Update all" button and a dismissible card. - Projects & settings — a per-project settings section stored inside
.nsql-project(Settings window "Project" switch shows only project-allowed keys, cards show where a value comes from, the switch state is remembered), a per-syntax indent layer, indent detection on open (editor.detect_indent), and the status-bar indent popup saves to global / syntax / project. - Keymap & toolbar — keymap category grid in Settings with conflict notes, search box and group headers in the Keyboard Shortcuts window,
selectorcontext in.sublime-keymap, toolbar group order and hiding (toolbar.items), completion hints for settings.json and keymap files (Ctrl+Space, auto-trigger, detail card), JSON syntax highlighting. - Minimap — View ▸ Minimap toggle, auto-hide for narrow editors and after idle, zoom (
editor.minimap_scale), left-side placement, section headers, modified-since-save and git-change marks. - Completion — clause-position aware (
SELECToffers DISTINCT/ALL, no FROM right after a comma), CASE expression state, and grammar tables for all nine dialects re-checked against vendor documentation. - Bookmarks — object DDL bookmarks (reopen the source tab of a server object), notes, drag items between groups, reorder groups, invalid/revived detection with a move suggestion band, and copy-on-save.
- Output & logs — server messages carry a level (⚠ warning / ✖ error line colors; PostgreSQL severity read locale-independently; SQL Server messages are always Info), Ctrl+F searches the Output tab, and the Run Log window shows a session column when more than one connection is open.
- Fixes — obvious syntax errors no longer trigger the "run again?" confirmation;
FROM t(DuckDB/ClickHouse) andTABLE t(PostgreSQL) are treated as queries; restoring a project shows a "changed outside" band on unsaved tabs and the log message says what actually happened;'R&D'no longer prompts for a variable whenscript.define_in_stringsis off; the Goto index honors the project root.gitignore; Windows main-thread stack raised to 8 MB. nsqlCLI — multi-line statements in the shell (whole-statement history, Alt+Enter inserts a newline) were listed in the 0.4.0 notes but missing from the 0.4.0 binaries — now actually included; thensql*n>prompt shows pending transactions,autocommit=works in profiles and connection strings, required login fields are checked before connecting, and no interactive prompt is shown when stdin is not a TTY.- Sessions & status bar — an INSERT into an Oracle global temporary table marks the session as stateful (it is not idle-closed), a ⚡ performance-mode segment, an
&substitution-mode segment (auto/on/off), and the object detail cache gets a size cap (meta.cache_mb).
Behaviour changes (each can be turned off in Settings):
driver.auto_upgrade(default on) — connecting to a dialect served by an extension driver installs the newer version first when the cached driver index lists one; a failed upgrade does not block the connection. Set it tooffto keep the installed version.project.gitignore(default on) — the Goto / file index skips entries matched by the top-level.gitignoreof the project root. Set it tooffto index everything.project.hot_exit(defaultalways) — without a project, quitting with unsaved tabs no longer asks; the tabs are kept and restored on the next start. Set it tooffto be asked as before.script.define_in_strings(default on) —&nameinside string literals is still substituted, as in SQL*Plus (no change in behaviour); set it tooffto keep&literal inside quotes.
Update the drivers to drivers-v0.1.10 (PostgreSQL message severity prefix · ClickHouse FROM-first queries; ABI unchanged, 0.1.9 drivers keep working).
마이너 릴리스(0.4.0 이후 Windows 180221차 · macOS 141143차). 주요 변경:
- SQL 포매터 — 강(river · 콤마 앞) 정렬(
format.indent_style = river· 서브쿼리·CASE 포함) · PL/SQL 블록 재들여쓰기(format.plsql = indent|full· Oracle PL/SQL · T-SQLELSE IF연쇄와BEGIN없는 IF 본문format.tsql_if_body· PL/pgSQL$$본문 방언 표) · 포맷 프리셋(format.preset: default · kiros33 · river · custom · 한 번에 적용 + 5초 되돌리기) ·nsql fmt --preset·nsql config set format.preset. - 내보내기 — GUI와
nsql export의 스트리밍 내보내기(csv/tsv/json/jsonl/insert를 배치로 씀 · 메모리에 다 올리지 않음 · 서버 커서 없는 방언은 OFFSET 페이지) · 새 형식 xlsx · parquet · INSERT 내보내기의 표 이름 지정. - 드라이버 자동 갱신 — 접속할 때 캐시된 색인에 새 판이 있으면 설치된 확장 드라이버를 먼저 올림(
driver.auto_upgrade) · 갱신 안내는 드라이버당 한 줄 · [모두 갱신] 버튼 · 닫을 수 있는 카드. - 프로젝트·설정 — 프로젝트 파일(
.nsql-project) 안의 프로젝트 설정 절(설정 창 "프로젝트" 스위치 = 프로젝트 허용 키만 · 카드에 값의 출처 표시 · 스위치 상태 기억) · 문법별 들여쓰기 층 · 열 때 들여쓰기 감지(editor.detect_indent) · 상태줄 들여쓰기 팝업에서 전역/문법/프로젝트에 저장. - 키맵·툴바 — 설정 창 키맵 카테고리 그리드 + 충돌 덧말 · 단축키 창 검색 칸과 그룹 머리 ·
.sublime-keymap의selectorcontext · 툴바 그룹 순서·숨김(toolbar.items) · settings.json·키맵 파일 완성 힌트(Ctrl+Space · 자동 트리거 · 상세 카드) · JSON 구문 강조. - 미니맵 — 보기 ▸ 미니맵 토글 · 좁은 편집기·유휴 뒤 자동 숨김 · 배율(
editor.minimap_scale) · 왼쪽 배치 · 섹션 헤더 · 저장 뒤 수정 줄·git 변경 줄 표시. - 자동완성 — 절 안 위치 인식(
SELECT뒤 DISTINCT/ALL · 콤마 바로 뒤엔 FROM 없음) · CASE 식 상태 · 9개 방언 문법 표를 공식 문서와 대조해 손봄. - 북마크 — 객체 DDL 북마크(서버 객체의 소스 탭을 다시 염) · 메모 · 항목을 다른 그룹으로 드래그 · 그룹 순서 바꾸기 · 무효/부활 판정과 이동 제안 띠 · 저장 시 복사본.
- Output·로그 — 서버 메시지 등급(⚠ 경고 / ✖ 오류 줄 색 · PostgreSQL 심각도는 로케일과 무관하게 판정 · SQL Server 메시지는 늘 Info) · Output 탭 안 Ctrl+F 찾기 · 접속이 둘 이상이면 실행 로그 창에 세션 열.
- 결함 수정 — 명백한 구문 오류가 "다시 실행" 확인 창을 띄우던 오탐 제거 ·
FROM t(DuckDB/ClickHouse)·TABLE t(PostgreSQL)를 조회로 취급 · 프로젝트 복원 때 미저장 탭에 "밖에서 바뀜" 띠 + 실제 동작과 맞는 로그 문구 ·script.define_in_strings가 꺼져 있으면'R&D'가 변수 입력을 묻지 않음 · Goto 색인이 프로젝트 루트.gitignore를 따름 · Windows 주 스레드 스택 8 MB. nsqlCLI — 셸의 여러 줄 문장(기록은 문장 단위 · Alt+Enter 줄 바꿈)은 0.4.0 노트에 적혔지만 0.4.0 바이너리에 빠져 있었음 — 이번 판에 실제로 포함 ·nsql*n>프롬프트에 대기 트랜잭션 수 · 프로필·접속 문자열의autocommit=· 접속 전 필수 항목 검사 · stdin이 TTY가 아니면 대화형 프롬프트 없음.- 세션·상태줄 — Oracle 전역 임시 테이블 INSERT는 세션 상태 있음으로 표시(유휴 닫기 제외) · ⚡ 성능 모드 세그먼트 ·
&치환 모드 세그먼트(auto/on/off) · 객체 상세 캐시 상한(meta.cache_mb).
동작이 바뀌는 기본값(각각 설정에서 끌 수 있음):
driver.auto_upgrade(기본 on) — 확장 드라이버로 접속할 때 캐시된 색인에 새 판이 있으면 먼저 설치 · 설치 실패는 접속을 막지 않음 · 설치된 판을 유지하려면off.project.gitignore(기본 on) — Goto·파일 색인이 프로젝트 루트 최상위.gitignore에 걸리는 항목을 건너뜀 · 전부 색인하려면off.project.hot_exit(기본always) — 프로젝트 없이 미저장 탭을 둔 채 종료하면 묻지 않고 보관했다가 다음 시작 때 복원 · 종전처럼 물으려면off.script.define_in_strings(기본 on) — 문자열 리터럴 안&이름도 SQL*Plus처럼 치환(종전과 같은 동작) · 따옴표 안&를 글자 그대로 두려면off.
드라이버를 drivers-v0.1.10으로 갱신하세요(PostgreSQL 메시지 심각도 접두 · ClickHouse FROM-first 조회 · ABI는 그대로라 0.1.9 드라이버도 계속 동작합니다).
Lightweight cross-platform SQL client (IDE) for Oracle, SQL Server, PostgreSQL, MySQL/MariaDB, SQLite, DuckDB, IBM Db2, ClickHouse and ODBC sources, with the nsql CLI.
Installers only (no portable build). Changes: see docs/DEVLOG.md.
| OS | File | Install |
|---|---|---|
| Windows x64 | nexa-sql-0.5.0-windows-x64.msi |
Double-click, or msiexec /i … /qn (silent; adds nsql to PATH; .sql association optional) · winget install SosomLab.NexaSQL · choco install nexa-sql (only when this release was pushed to those channels) |
| macOS (Universal) | nexa-sql-0.5.0-macos-universal.pkg / .dmg |
Installer → /Applications/Nexa SQL.app + /usr/local/bin/nsql · brew install --cask kiros33/tap/nexa-sql |
| Linux x86_64 | .deb / .rpm |
sudo apt install ./…deb / sudo dnf install ./…rpm · or the signed repository at https://pkg.sosomlab.com/ (apt install nexa-sql / dnf install nexa-sql) |
Drivers are not bundled (only the Oracle OCI driver, which needs an Instant Client): the first connection to PostgreSQL, MySQL/MariaDB, SQL Server, SQLite, DuckDB, Oracle Thin, IBM Db2, ClickHouse or ODBC downloads the signed driver package from the drivers-v* pre-release (currently drivers-v0.1.10) and installs it (driver.auto_install). Offline: nsql driver install --file nsql-drivers-all-<ver>-<os>-<arch>.zip. Driver packages are built for Windows x64, Linux x86_64, Apple Silicon and Intel macOS (ODBC included on all four).
Verify downloads with sha256sums.txt. Builds are not code-signed yet (DR-20): macOS Gatekeeper and Windows SmartScreen will warn.
License: PolyForm Noncommercial 1.0.0 — free for noncommercial use only.
크로스플랫폼 경량 SQL 클라이언트(IDE) + CLI nsql — 설치본만 배포합니다(포터블 없음 · DR-27).
| 운영체제 | 파일 | 설치 |
|---|---|---|
| Windows x64 | nexa-sql-0.5.0-windows-x64.msi |
더블클릭 또는 msiexec /i … /qn(조용한 설치 · PATH 추가 옵션 · .sql 연결은 선택) |
| macOS (Universal · Apple Silicon/Intel) | nexa-sql-0.5.0-macos-universal.pkg |
설치기 실행 → /Applications/Nexa SQL.app + /usr/local/bin/nsql 링크 |
| macOS (drag-to-Applications) | nexa-sql-0.5.0-macos-universal.dmg |
끌어 놓기 · CLI 링크는 dmg 안 안내문 |
| Linux x86_64 (deb) | nexa-sql_0.5.0_amd64.deb |
sudo dpkg -i 또는 sudo apt install ./…deb |
| Linux x86_64 (rpm) | nexa-sql-0.5.0-1.x86_64.rpm |
sudo dnf install ./…rpm |
| macOS (Homebrew) | — | brew install --cask kiros33/tap/nexa-sql(공개 뒤 자동 반영 · nsql도 PATH에) |
| Linux (APT 저장소 · Debian/Ubuntu) | — | 저장소 등록 뒤 sudo apt install nexa-sql · 갱신 = apt upgrade(아래 · 공개 뒤 자동 반영) |
| Linux (RPM 저장소 · Fedora/RHEL 계열) | — | 저장소 등록 뒤 sudo dnf install nexa-sql · 갱신 = dnf upgrade(아래 · 공개 뒤 자동 반영) |
Linux 패키지 저장소(pkg.sosomlab.com · 서명됨)
한 번 등록하면 새 버전을 apt upgrade/dnf upgrade로 받습니다(안내 = https://pkg.sosomlab.com/).
# APT(Debian · Ubuntu)
sudo curl -fsSLo /usr/share/keyrings/sosomlab-archive-keyring.gpg https://pkg.sosomlab.com/sosomlab-archive-keyring.gpg
sudo curl -fsSLo /etc/apt/sources.list.d/sosomlab.sources https://pkg.sosomlab.com/apt/sosomlab.sources
sudo apt update && sudo apt install nexa-sql
# RPM(Fedora · RHEL 계열)
sudo curl -fsSLo /etc/yum.repos.d/sosomlab.repo https://pkg.sosomlab.com/rpm/sosomlab.repo
sudo dnf install nexa-sql받은 파일은 sha256sums.txt로 확인하세요. 제거: Windows 프로그램 추가/제거 · macOS sudo "/Applications/Nexa SQL.app/Contents/Resources/uninstall.sh" · Linux dpkg -r nexa-sql/dnf remove nexa-sql.
사용자 데이터(설정·연결 프로필)는 OS 사용자 폴더에 있으며 제거해도 보존됩니다.
서명
코드 서명 키가 투입되지 않은 빌드는 macOS Gatekeeper·Windows SmartScreen이 경고합니다(DR-20 · 별도 요청 시 서명).
- macOS:
xattr -dr com.apple.quarantine "/Applications/Nexa SQL.app" - Windows: SmartScreen "추가 정보 → 실행"
라이선스: PolyForm Noncommercial 1.0.0 — 변경 내역: docs/DEVLOG.md