Skip to content

Latest commit

 

History

History
131 lines (99 loc) · 5.53 KB

README.md

File metadata and controls

131 lines (99 loc) · 5.53 KB

dblab

Interactive client for PostgreSQL and MySQL.

Release integration tests unit tests

Overview

dblab is a fast and lightweight interactive terminal based UI application for PostgreSQL and MySQL, written in Go and works on OSX, Linux and Windows machines. Main idea behind using Go for backend development is to utilize ability of the compiler to produce zero-dependency binaries for multiple platforms. dblab was created as an attempt to build very simple and portable application to work with local or remote PostgreSQL/MySQL databases.

Features

  • Cross-platform support OSX/Linux/Windows 32/64-bit
  • Simple installation (distributed as a single binary)
  • Zero dependencies

Installation

Help

dblab is a terminal UI based interactive database client for Postgres, MySQL and SQLite.

Usage:
  dblab [flags]
  dblab [command]

Available Commands:
  help        Help about any command
  version     The version of the project

Flags:
      --config          get the connection data from a config file (default is $HOME/.dblab.yaml or the current directory)
      --db string       Database name
      --driver string   Database driver
  -h, --help            help for dblab
      --host string     Server host name or IP
      --pass string     Password for user
      --port string     Server port
      --ssl string      SSL mode
  -u, --url string      Database connection string
      --user string     Database user

Use "dblab [command] --help" for more information about a command.

Usage

You can start the app passing no flags or parameters, you'll be asked for connection data instead. Alt Text

$ dblab --host localhost --user myuser --db users --pass password --ssl disable --port 5432 --driver postgres

Connection URL scheme is also supported:

$ dblab --url postgres://user:password@host:port/database?sslmode=[mode]
$ dblab --url mysql://user:password@tcp(host:port)/db

Now, you can use a configuration file to make a connection to the database.

$ dbladb --config

dblab is going to look for a file called .dblab.yaml. For now, the only two places where you can drop a config file are $HOME ($HOME/.dblab.yaml) and the current directory where you run the command line tool.

.dblab.yaml example:

database:
  host: "localhost"
  port: 5432
  db: "users"
  password: "password"
  user: "postgres"
  driver: "postgres"

Only the host and ssl fields are optionals. 127.0.0.1 and disable, respectively.

If the query panel is active, type the desired query and press Ctrl+Space to see the results on the rows panel below. Otherwise, you might me located at the tables panel, then you can navigate by using the arrows Up and Down (or the keys k and j respectively). If you want to see the rows of a table, press Enter. To see the the schema of a table, locate yourself on the rows panel and press Ctrl+S to switch to the structure panel, then switch Ctrl+S to switch back.

Key Bindings

Key Description
Ctrl+Space If the query panel is active, execute the query
Enter If the tables panel is active, list all the rows as a result set on the rows panel and display the structure of the table on the structure panel
Ctrl+S If the rows panel is active, switch to the schema panel
Ctrl+h Toggle to the panel on the left
Ctrl+j Toggle to the panel below
Ctrl+k Toggle to the panel above
Ctrl+l Toggle to the panel on the right
Arrow Up Next row of the result set, on the rows panel. Next table on the tables panel
k Next row of the result set, on the rows panel. Next table on the tables panel
Arrow Down Previous row of the result set, on the rows panel. Previous table on the tables panel
j Previous row of the result set, on the rows panel. Previous table on the tables panel
Arrow Right Horizontal scrolling on the rows panel
l Horizontal scrolling on the rows panel
Arrow Left Horizontal scrolling on the rows panel
h Horizontal scrolling on the rows panel
Ctrl+c Quit

Contribute

  • Fork this repository
  • Create a new feature branch for a new functionality or bugfix
  • Commit your changes
  • Execute test suite
  • Push your code and open a new pull request
  • Use issues for any questions
  • Check wiki for extra documentation

License

The MIT License (MIT). See LICENSE file for more details.