Skip to content

Nexa SQL 0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 05:57

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 IF chains, BEGIN-less IF bodies via format.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; also nsql fmt --preset and nsql 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, selector context 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 (SELECT offers 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) and TABLE 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 when script.define_in_strings is off; the Goto index honors the project root .gitignore; Windows main-thread stack raised to 8 MB.
  • nsql CLI — 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; the nsql*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 to off to keep the installed version.
  • project.gitignore (default on) — the Goto / file index skips entries matched by the top-level .gitignore of the project root. Set it to off to index everything.
  • project.hot_exit (default always) — without a project, quitting with unsaved tabs no longer asks; the tabs are kept and restored on the next start. Set it to off to be asked as before.
  • script.define_in_strings (default on) — &name inside string literals is still substituted, as in SQL*Plus (no change in behaviour); set it to off to 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-SQL ELSE 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의 selector context · 툴바 그룹 순서·숨김(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.
  • nsql CLI — 셸의 여러 줄 문장(기록은 문장 단위 · 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