Skip to content

Nexa SQL 0.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 05:10

Nexa SQL 0.6.0

Minor release (63 commits since 0.5.0). Highlights:

  • Import data — new import from csv/tsv (encoding and delimiter detection), json/jsonl, xlsx and parquet, in the GUI (Run ▸ Import Data from File…: source, preview grid, column mapping, create a new table with suggested types) and in nsql import (-f json|xlsx|parquet, --sheet, --delim, --encoding, --create/--types, --skip, --on-error, --dry-run, --trim, --null-text).
  • Export — Export to File is a submenu by format (Excel · CSV · TSV · JSON · JSON Lines · SQL INSERT · Parquet); the default file name is report_<timestamp>.xlsx (export.format, export.name_pattern, export.source); the save dialog follows the chosen format.
  • Connection profiles — deleted profiles go to a recycle folder and can be restored (toast Undo, nsql conn deleted|restore, kept 30 days by connect.deleted_keep_days); read-only profiles block data and schema changes in the GUI, in scripts and in imports; profiles can be exported/imported without passwords (File menu, nsql conn export|import).
  • Syntax colors — data types, functions (built-in functions of the connected dialect), bind variables, statement terminators and commands get their own colors; color presets editor.color_preset = nexa · dbeaver · golden; editor.selection_opacity keeps syntax colors visible under the selection.
  • Dialect-aware SQL lexing — nested block comments (PostgreSQL, SQL Server), E'…' escape strings, [ ] as array subscript on PostgreSQL, GO n, U&"…" identifiers, and dialect reserved-word tables (Oracle, SQL Server, PostgreSQL, SQLite, MySQL, ANSI) for highlighting, completion keywords and identifier quoting.
  • Connection health — a session that loses its connection while the server is still reachable gets its own toast with a Reconnect action for that session only; a lost server lists the affected shared sessions and private tabs; the explorer header tooltip shows broken private sessions.
  • Oracle live monitor — DBMS_PIPE source (oracle.live.pipe), V$SESSION_LONGOPS progress (oracle.live.longops), a Live log kind, and nsql run --live.
  • Production hold — the held-commit card has [Rollback] and [Commit & continue] buttons.
  • Editor & files — line-ending choice in the save dialog (keep · LF · CRLF · CR); optional rich-text cut (editor.cut_rich); typing in a 2 MB file is fast again at any caret position (bracket-pair table rescans only the changed region: about 52 ms → 6 ms per frame); key bits (PK/FK/UQ) shown for completion columns.
  • Run Log — filter by session from the right-click menu (log.session_filter; the window title shows the active filter).
  • Extensions — nsql ext check|pack|verify|list for extension repositories (index signature index.sig verification), min_app is checked on install, and extensions in the development folder reload when the main window regains focus (extensions.dev_reload).
  • Fixes — toast buttons show a hand cursor instead of the editor I-beam; file dialog edit menus no longer overlap each other and stay inside the window; clicking an empty breadcrumb area edits the path.

Behaviour changes (each can be turned off in Settings):

  • export.format (default xlsx) and export.name_pattern (default report_{stamp}) — the export save dialog now proposes report_<timestamp>.xlsx instead of result.csv. Set them to csv / result for the previous default.
  • connect.deleted_keep_days (default 30) — deleting a connection profile moves it to a recycle folder for 30 days instead of removing it at once. 0 purges them the next time the connection window opens (nsql conn rm purges right away).
  • Syntax highlighting — with the default nexa preset, functions, data types, bind variables, ; and commands now use their own colors, and keywords follow the connected dialect. Choose another preset with editor.color_preset.

Drivers: drivers-v0.1.10 unchanged (no driver code changes since 0.5.0; installed 0.1.10 drivers keep working).

마이너 릴리스(0.5.0 이후 커밋 63). 주요 변경:

  • 데이터 가져오기 — csv/tsv(인코딩·구분자 자동 판정) · json/jsonl · xlsx · parquet 가져오기 새로 · GUI(실행 ▸ 파일에서 데이터 가져오기… = 원천 · 미리보기 그리드 · 열 매핑 · 형 추천으로 새 표 만들기)와 nsql import(-f json|xlsx|parquet · --sheet · --delim · --encoding · --create/--types · --skip · --on-error · --dry-run · --trim · --null-text).
  • 내보내기 — 파일로 내보내기가 형식별 하위 메뉴(Excel · CSV · TSV · JSON · JSON Lines · SQL INSERT · Parquet) · 기본 파일 이름 report_<시각>.xlsx(export.format · export.name_pattern · export.source) · 저장 창이 고른 형식을 따름.
  • 접속 프로필 — 삭제한 프로필은 휴지통 폴더로 가고 되살릴 수 있음(토스트 [되돌리기] · nsql conn deleted|restore · connect.deleted_keep_days 30일 보관) · 읽기 전용 프로필(GUI·스크립트·가져오기에서 데이터·스키마 변경 막음) · 비밀번호 없이 프로필 내보내기/가져오기(파일 메뉴 · nsql conn export|import).
  • 구문 색 — 자료형 · 함수(접속한 방언의 내장 함수) · 바인드 변수 · 문장 종결자 · 명령에 각자 색 · 색 프리셋 editor.color_preset = nexa · dbeaver · golden · editor.selection_opacity로 선택 영역 아래 구문 색이 보이게.
  • 방언별 SQL 어휘 — 중첩 블록 주석(PostgreSQL · SQL Server) · E'…' 이스케이프 문자열 · PostgreSQL의 [ ] = 배열 첨자 · GO n · U&"…" 식별자 · 방언 예약어 표(Oracle · SQL Server · PostgreSQL · SQLite · MySQL · ANSI)로 강조 · 완성 키워드 · 식별자 인용 판정.
  • 접속 생존 관리 — 서버에는 닿는데 한 세션만 끊기면 그 세션 전용 토스트와 그 세션만 다시 연결하는 동작 · 서버가 끊기면 영향받는 공유 세션·전용 탭 목록 · 탐색기 헤더 툴팁에 끊긴 전용 세션 수.
  • Oracle 라이브 모니터 — DBMS_PIPE 원천(oracle.live.pipe) · V$SESSION_LONGOPS 진행(oracle.live.longops) · 로그 종류 Live · nsql run --live.
  • 운영 보류 커밋 — 보류 카드에 [롤백] · [커밋 후 계속] 버튼.
  • 편집기·파일 — 저장 창 줄끝 선택(유지 · LF · CRLF · CR) · 서식 있는 잘라내기 옵션(editor.cut_rich) · 2 MB 파일에서 캐럿 위치와 무관하게 타이핑이 다시 빠름(괄호 쌍 표가 바뀐 구간만 다시 읽음 · 프레임당 약 52 ms → 6 ms) · 완성 열에 키 표시(PK/FK/UQ).
  • 실행 로그 — 우클릭 메뉴로 세션별 필터(log.session_filter · 창 제목에 필터 표시).
  • 확장 — 확장 저장소용 nsql ext check|pack|verify|list(색인 서명 index.sig 검증) · 설치 때 min_app 확인 · 개발 폴더 확장은 메인 창으로 돌아올 때 다시 올림(extensions.dev_reload).
  • 결함 수정 — 토스트 버튼 위 커서가 편집기 I-빔 대신 손가락 · 파일 창 편집 메뉴가 서로 겹치지 않고 창 안에 머묾 · 브레드크럼 빈 곳 클릭 = 경로 편집.

동작이 바뀌는 기본값(각각 설정에서 끌 수 있음):

  • export.format(기본 xlsx) · export.name_pattern(기본 report_{stamp}) — 내보내기 저장 창이 result.csv 대신 report_<시각>.xlsx를 제안 · 종전처럼 하려면 csv / result.
  • connect.deleted_keep_days(기본 30) — 접속 프로필 삭제가 바로 지우지 않고 30일간 휴지통 폴더로 옮김 · 0 = 다음에 접속 창을 열 때 전부 정리(nsql conn rm은 바로 정리).
  • 구문 강조 — 기본 nexa 프리셋에서도 함수 · 자료형 · 바인드 변수 · ; · 명령이 각자 색으로 보이고 키워드는 접속한 방언을 따름 · 다른 프리셋은 editor.color_preset.

드라이버: drivers-v0.1.10 그대로(0.5.0 이후 드라이버 코드 변경 없음 · 설치된 0.1.10 드라이버 그대로 사용).

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.6.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.6.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.6.0-windows-x64.msi 더블클릭 또는 msiexec /i … /qn(조용한 설치 · PATH 추가 옵션 · .sql 연결은 선택)
macOS (Universal · Apple Silicon/Intel) nexa-sql-0.6.0-macos-universal.pkg 설치기 실행 → /Applications/Nexa SQL.app + /usr/local/bin/nsql 링크
macOS (drag-to-Applications) nexa-sql-0.6.0-macos-universal.dmg 끌어 놓기 · CLI 링크는 dmg 안 안내문
Linux x86_64 (deb) nexa-sql_0.6.0_amd64.deb sudo dpkg -i 또는 sudo apt install ./…deb
Linux x86_64 (rpm) nexa-sql-0.6.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