Repository navigation
Nexa SQL 0.2.7
Nexa SQL 0.2.7
Lightweight cross-platform SQL client (IDE) for Oracle, SQL Server, PostgreSQL and SQLite, with the nsql CLI.
Installers only (no portable build). Changes: see docs/DEVLOG.md.
| OS | File | Install |
|---|---|---|
| Windows x64 | nexa-sql-0.2.7-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 (after moderation) |
| macOS (Universal) | nexa-sql-0.2.7-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) |
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.
What's in this release (since 0.2.6)
Linux: sharper text and Korean-style CJK glyphs · lower idle CPU after a query and after connecting · hide the Oracle Thin notice · aliases for qualified table names
Behaviour change (Linux): text is now drawn without the Windows-style adjustments (hinting, pixel snapping, stroke weight and contrast boost). These were meant to imitate Windows ClearType, but on Linux Nexa SQL uses its own anti-aliased renderer, where they blurred letters such as
m,oand0, made letter spacing uneven and thickened Hangul strokes. If you prefer the previous look, set Settings ▸ Appearance:ui.text_hint= on,ui.text_snap= on,ui.text_weight= 25,ui.text_contrast= 140. Values you set yourself before are kept.
- Linux text defaults now match macOS (D-314).
ui.text_hintoff,ui.text_snapoff,ui.text_weight0,ui.text_contrast100. Windows is unchanged. - Fixed: per-OS default values were not applied when the app read them. The settings window showed the operating-system default, but drawing code read the Windows value. On Linux this is why the change above never took effect before; on macOS it affected only fallback fonts (the main font is drawn by Core Text), which now also use the intended values.
- Linux: Chinese characters in the UI font now use the Korean glyph forms. On Ubuntu,
NotoSansCJK-Regular.ttcwas opened at a fixed index that turned out to be the Simplified Chinese face, so characters such as 直 and 骨 and some punctuation were drawn in Chinese style. The face inside a font collection is now chosen by its name (Noto Sans CJK KR), with the old index as a fallback. - Lower CPU after a query finishes (all platforms). While the finished run card stayed on screen (5 seconds by default), it asked for a new frame on every tick, using about 0.7 s of CPU per second. It now redraws only when its countdown moves: about 0.45 s in total instead of 2.4–3.0 s. The countdown bar still moves smoothly.
- Lower idle CPU after connecting to a large schema (all platforms). After connecting, column metadata is read in the background (up to 200 tables). Each answer used to copy the whole metadata snapshot, redraw the whole window and re-scan links in the editor, and the app polled every 30 ms until the warm-up finished. Now the snapshot is updated in place and the window redraws only when something visible depends on it. Measured on an Oracle schema with about 570 tables: 29 → 21 ms of CPU per second during the warm-up, which still completes.
- Filter bar buttons are drawn right away on first start. The six toggle icons (Aa, ab, regex, hidden, dot files, path) are now prepared first, so the first frame no longer waits for them (up to 0.3 s seen on a 2-core Linux machine).
- Oracle Thin: "Don't show again" on the connection notice (new). The notice listing Thin driver limitations shown right after connecting has a Don't show again button. To turn it back on, use the new settings category Settings ▸ General ▸ Hidden messages (
notice.oracle_thin). The warning shown when you actually use a feature the Thin driver does not support is not hidden, and the full details always stay in the log window. - Code completion: aliases for qualified table names. Completing a table after
FROM schema.(Oracle, PostgreSQL) orFROM db.dbo.(SQL Server) now adds an alias, as it already did for unqualified names, for exampleFROM BISCM_SB.ANTI_KR_ITEM AKI. The same rules apply as before: no alias afterALTER TABLE,INSERT INTOand similar, and none for SQL ServerUPDATEtargets. - Tests: new end-to-end script for qualified-name aliases (
scripts/intel-alias-e2e.sh); test-script fixes for the drop-object and error-position checks; checks for these changes were run on Linux against live Oracle, SQL Server and PostgreSQL servers (full regression earlier the same day; the pre-release full run was skipped by decision).
Full details: docs/DEVLOG.md · docs/journal
Distribution note: this version is published to GitHub Releases, Homebrew (kiros33/tap), the Linux repository (pkg.sosomlab.com) and Chocolatey (choco install nexa-sql, after moderation). winget is paused until the first package review finishes.
크로스플랫폼 경량 SQL 클라이언트(IDE) + CLI nsql — 설치본만 배포합니다(포터블 없음 · DR-27).
| 운영체제 | 파일 | 설치 |
|---|---|---|
| Windows x64 | nexa-sql-0.2.7-windows-x64.msi |
더블클릭 또는 msiexec /i … /qn(조용한 설치 · PATH 추가 옵션 · .sql 연결은 선택) |
| macOS (Universal · Apple Silicon/Intel) | nexa-sql-0.2.7-macos-universal.pkg |
설치기 실행 → /Applications/Nexa SQL.app + /usr/local/bin/nsql 링크 |
| macOS (drag-to-Applications) | nexa-sql-0.2.7-macos-universal.dmg |
끌어 놓기 · CLI 링크는 dmg 안 안내문 |
| Linux x86_64 (deb) | nexa-sql_0.2.7_amd64.deb |
sudo dpkg -i 또는 sudo apt install ./…deb |
| Linux x86_64 (rpm) | nexa-sql-0.2.7-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
이번 판에 담긴 것(0.2.6 이후)
Linux: 더 또렷한 글자 · 한국식 한자 자형 · 조회 뒤·접속 뒤 유휴 CPU 감소 · Oracle Thin 안내 숨기기 · 한정 이름에도 자동 별칭
동작 변경(Linux): 이제 Windows식 보정(힌팅 · 픽셀 맞춤 · 획 보강 · 대비 강화) 없이 글자를 그립니다. 이 보정은 Windows ClearType을 흉내 내려던 것인데, Linux에서 Nexa SQL은 자체 안티에일리어싱 래스터를 써서 오히려
m·o·0을 뭉개고 자간을 들쭉날쭉하게 하며 한글 획을 번지게 했습니다. 예전 모양이 좋으면 설정 ▸ 모양에서ui.text_hint= 켬 ·ui.text_snap= 켬 ·ui.text_weight= 25 ·ui.text_contrast= 140으로 바꾸세요. 직접 정해 둔 값은 그대로 유지됩니다.
- Linux 글자 기본값 = macOS와 같게(D-314).
ui.text_hint끔 ·ui.text_snap끔 ·ui.text_weight0 ·ui.text_contrast100. Windows는 그대로입니다. - 고침: OS별 기본값이 실제로 읽힐 때 적용되지 않던 결함. 설정 창에는 OS 기본값이 보였지만 그리기 코드는 Windows 값을 읽었습니다. Linux에서 위 기본값이 그동안 효과가 없던 이유이고, macOS는 주 글꼴이 Core Text라 대체 글꼴에만 영향이 있었는데 이제 대체 글꼴도 의도한 값으로 그립니다.
- Linux: UI 글꼴의 한자가 한국식 자형으로. Ubuntu의
NotoSansCJK-Regular.ttc를 고정 번호로 열었는데 그 번호가 간체 중국어 글꼴이어서 直 · 骨 같은 한자와 일부 문장부호가 중국식으로 그려졌습니다. 이제 글꼴 모음 안의 글꼴을 이름(Noto Sans CJK KR)으로 고르고, 못 찾으면 종전 번호를 씁니다. - 조회가 끝난 뒤 CPU 감소(모든 OS). 끝난 실행 카드가 화면에 남는 동안(기본 5초) 틱마다 새 프레임을 요청해 초당 약 0.7초의 CPU를 썼습니다. 이제 카운트다운이 바뀔 때만 다시 그려 그 구간 합이 2.4~3.0초에서 약 0.45초로 줄었습니다. 카운트다운 막대는 그대로 부드럽게 움직입니다.
- 큰 스키마에 접속한 뒤 유휴 CPU 감소(모든 OS). 접속 뒤 컬럼 메타를 뒤에서 미리 읽는데(최대 200표), 응답마다 메타 스냅숏 전체를 복제하고 창 전체를 다시 그리고 편집기 링크를 다시 분석했으며, 미리 읽기가 끝날 때까지 30 ms마다 확인했습니다. 이제 스냅숏을 제자리에서 갱신하고, 화면에 보이는 것이 그 메타에 기댈 때만 다시 그립니다. 표 약 570개인 Oracle 스키마 실측 = 미리 읽기 동안 초당 29 → 21 ms(미리 읽기는 끝까지 완료).
- 처음 시작할 때 필터 막대 버튼이 바로 그려집니다. 토글 아이콘 6개(Aa · ab · 정규식 · 숨김 · 점 파일 · 경로)를 가장 먼저 준비해 첫 프레임이 기다리지 않습니다(2코어 Linux에서 최대 0.3초 관찰).
- Oracle Thin: 접속 안내에 "다시 보지 않기"(새 기능). 접속 직후 Thin 드라이버 제약을 알리는 안내에 다시 보지 않기 버튼이 생겼습니다. 다시 켜려면 새 설정 분류 설정 ▸ 일반 ▸ 숨겨진 메시지(
notice.oracle_thin)를 쓰세요. Thin 드라이버가 지원하지 않는 기능을 실제로 쓸 때의 경고는 숨겨지지 않으며, 자세한 내용은 늘 로그 창에 남습니다. - 코드 완성: 한정 이름에도 별칭.
FROM 스키마.(Oracle · PostgreSQL) ·FROM DB.dbo.(SQL Server) 뒤에서 테이블을 확정해도 한정 없는 이름처럼 별칭을 붙입니다(예FROM BISCM_SB.ANTI_KR_ITEM AKI). 규칙은 종전과 같아서ALTER TABLE·INSERT INTO같은 자리와 SQL ServerUPDATE대상에는 붙이지 않습니다. - 시험: 한정 이름 별칭 E2E 새 스크립트(
scripts/intel-alias-e2e.sh) · 객체 삭제와 오류 위치 시험 스크립트 손질 · 이번 변경의 점검은 Linux에서 실서버 Oracle · SQL Server · PostgreSQL로 수행(전수 회귀는 같은 날 앞서 · 배포 직전 전수는 결정으로 생략).