{"id":51099809,"url":"https://github.com/clang-engineer/dadbod-vertica.nvim","last_synced_at":"2026-06-26T07:01:14.031Z","repository":{"id":364215347,"uuid":"1266826623","full_name":"clang-engineer/dadbod-vertica.nvim","owner":"clang-engineer","description":"Vertica adapter for vim-dadbod, wired through the official vsql client","archived":false,"fork":false,"pushed_at":"2026-06-12T05:05:05.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-12T06:24:31.411Z","etag":null,"topics":["dadbod","database","neovim-plugin","vertica","vim-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clang-engineer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-12T01:45:13.000Z","updated_at":"2026-06-12T05:43:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/clang-engineer/dadbod-vertica.nvim","commit_stats":null,"previous_names":["clang-engineer/dadbod-vertica.nvim"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/clang-engineer/dadbod-vertica.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clang-engineer%2Fdadbod-vertica.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clang-engineer%2Fdadbod-vertica.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clang-engineer%2Fdadbod-vertica.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clang-engineer%2Fdadbod-vertica.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clang-engineer","download_url":"https://codeload.github.com/clang-engineer/dadbod-vertica.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clang-engineer%2Fdadbod-vertica.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34806448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dadbod","database","neovim-plugin","vertica","vim-plugin"],"created_at":"2026-06-24T10:00:24.395Z","updated_at":"2026-06-26T07:01:14.022Z","avatar_url":"https://github.com/clang-engineer.png","language":"Vim Script","funding_links":[],"categories":["Database"],"sub_categories":["Stats Tracking"],"readme":"# dadbod-vertica.nvim\n\n[Vertica](https://www.vertica.com/) adapter for [vim-dadbod](https://github.com/tpope/vim-dadbod), wired through the official `vsql` client.\n\nLets you connect to Vertica with the same URL-driven workflow you already use for PostgreSQL/MySQL in dadbod and [dadbod-ui](https://github.com/kristijanhusak/vim-dadbod-ui) — schema browsing, query buffers, result splits, completion.\n\n## Requirements\n\n- [vim-dadbod](https://github.com/tpope/vim-dadbod)\n- `vsql` client on `$PATH` (see [vsql install](#installing-vsql))\n- Neovim 0.7+ (works on Vim too — Lua entry is optional)\n\n## Install\n\n### lazy.nvim\n\n```lua\n{\n  \"clang-engineer/dadbod-vertica.nvim\",\n  dependencies = { \"tpope/vim-dadbod\" },\n  -- plugin/dadbod-vertica.vim registers dadbod-ui table helpers and patches\n  -- the schema tree, so it must source on every DBUI entry point — not just\n  -- the first SQL buffer.\n  cmd = { \"DB\", \"DBUI\", \"DBUIToggle\", \"DBUIAddConnection\", \"DBUIFindBuffer\" },\n  -- optional: only needed if vsql is not on PATH\n  opts = { vsql = \"/opt/vertica/bin/vsql\" },\n}\n```\n\n### packer.nvim\n\n```lua\nuse {\n  \"clang-engineer/dadbod-vertica.nvim\",\n  requires = \"tpope/vim-dadbod\",\n  config = function()\n    require(\"dadbod-vertica\").setup({})\n  end,\n}\n```\n\n### vim-plug\n\n```vim\nPlug 'tpope/vim-dadbod'\nPlug 'clang-engineer/dadbod-vertica.nvim'\n```\n\nNo `setup()` call needed if `vsql` is on `$PATH`.\n\n## Usage\n\nURL scheme is `vertica://`:\n\n```\nvertica://user@host:5433/database\nvertica://user:password@host:5433/database\n```\n\nAdd to `vim.g.dbs` (for dadbod-ui):\n\n```lua\nvim.g.dbs = {\n  { name = \"vertica local\", url = \"vertica://dbadmin@localhost:5433/VMart\" },\n  { name = \"vertica prod\",  url = \"vertica://reporter@warehouse.corp:5433/ANALYTICS\" },\n}\n```\n\nThen `:DBUIToggle` and the entry shows up alongside your other databases.\n\nFor one-off queries:\n\n```vim\n:DB vertica://dbadmin@localhost:5433/VMart SELECT current_user();\n```\n\n## Configuration\n\n```lua\nrequire(\"dadbod-vertica\").setup({\n  vsql = \"vsql\",  -- absolute path if vsql is not on $PATH\n})\n```\n\nOr set it directly via vimscript:\n\n```vim\nlet g:dadbod_vertica_vsql = '/opt/vertica/bin/vsql'\n```\n\n## Authentication\n\nPick one of:\n\n| Method | Notes |\n|--------|-------|\n| `vertica://user:password@host/db` URL | Simplest. Password ends up in `ps` output — fine for local/throwaway, avoid for shared machines |\n| `VSQL_PASSWORD` env var | Set in your shell rc. Single password for all connections |\n| vsql interactive prompt | Works for `:DB \u003curl\u003e` interactive mode; will hang on non-interactive query buffers |\n\nURL credentials win over env vars.\n\n## Installing vsql\n\n`vsql` is not on Homebrew. Download from the official [Vertica Client Drivers](https://www.vertica.com/download/vertica/client-drivers/) page (no signup required) and pick the right package for your OS:\n\n- **macOS**: `vsql-*.mac.dmg` — universal binary (x86_64 + arm64). Mount it and copy `opt/vertica/bin/vsql` onto your `$PATH`. **`/usr/local/bin/` is safest** because it ships on the default macOS PATH; `~/bin/` works too, but only if your shell rc actually puts `~/bin` on `$PATH` (default zsh does not)\n- **Linux**: install the Client Drivers `.rpm` or extract the `.tar` — `vsql` lands in `/opt/vertica/bin/vsql`\n- **Windows**: run the Client Drivers installer; `vsql.exe` is placed under `%PROGRAMFILES%\\Vertica Systems\\VSQL\\bin`\n\nSkip `$PATH` entirely by pointing the plugin straight at the binary:\n\n```lua\nopts = { vsql = \"/opt/vertica/bin/vsql\" }   -- or wherever you put it\n```\n\n## Troubleshooting\n\n**Query result buffer is empty / SELECT shows nothing.** By default we wrap `vsql` so its server-side license NOTICE on stderr is discarded — but this also swallows real query errors. Flip the suppressor off to see what vsql is actually saying:\n\n```vim\nlet g:dadbod_vertica_suppress_notice = 0\n```\n\nRe-run the query and the stderr message will land in the result buffer alongside the data.\n\n**Neovim freezes when the host is unreachable.** vim-dadbod runs `vsql` synchronously via `system()`, so a network-unreachable host blocks the UI thread until the TCP connect times out (~75s on macOS by default). vsql has no command-line connect-timeout flag, but you can shorten the wait in your shell rc:\n\n```sh\nexport VSQL_LOGIN_TIMEOUT=5\n```\n\n(Honored by recent vsql builds; behavior is version-dependent.)\n\n## Limitations\n\n- Tab completion of database names is not implemented (Vertica clusters typically expose one database, so listing is rarely useful)\n- Schema introspection always hides the `v_catalog`, `v_monitor`, `v_internal`, `v_func`, `v_txtindex` system schemas. Override the list via `let g:dadbod_vertica_system_schemas = [...]` if you need a different exclude set (set it to `[]` to show everything)\n- Password handling mirrors vim-dadbod's PostgreSQL adapter — passing on the command line is visible via `ps`\n- **dadbod-ui schema-tree integration is a monkey-patch.** vim-dadbod-ui's `s:schemas` dict is script-local with no public hook, so we override `db_ui#schemas#get` after snapshotting the existing entries. If vim-dadbod-ui adds a new scheme in a later release, this plugin won't expose it until updated — open an issue. Disable the monkey-patch with `let g:dadbod_vertica_disable_schema_tree = 1` (tables fall back to a flat list under the DB node)\n- **Windows NOTICE banner**: the stderr-suppression wrap only kicks in on Unix (`has('unix')`). On Windows the Vertica license NOTICE may surface inside result buffers\n\n## Tested against\n\n- `vsql` 24.02.x on macOS (universal binary, arm64)\n- vim-dadbod master (post-2024)\n\nIf you're using this against a different Vertica version, please open an issue with the version + any errors you see.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclang-engineer%2Fdadbod-vertica.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclang-engineer%2Fdadbod-vertica.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclang-engineer%2Fdadbod-vertica.nvim/lists"}