Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benbjohnson/postlite
Postgres wire compatible SQLite proxy.
https://github.com/benbjohnson/postlite
Last synced: about 1 month ago
JSON representation
Postgres wire compatible SQLite proxy.
- Host: GitHub
- URL: https://github.com/benbjohnson/postlite
- Owner: benbjohnson
- License: apache-2.0
- Archived: true
- Created: 2022-03-30T14:25:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-02T13:49:22.000Z (about 1 year ago)
- Last Synced: 2024-09-22T02:03:16.362Z (about 1 month ago)
- Language: Go
- Size: 48.8 KB
- Stars: 1,211
- Watchers: 18
- Forks: 30
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - benbjohnson/postlite - Postgres wire compatible SQLite proxy. (Go)
- awesome-sqlite - Postlite - Access remote SQLite databases over the Postgres wire protocol. (Misc / As Main Database)
README
Postlite ![Status](https://img.shields.io/badge/status-unmaintained-yellow)
========Postlite is a network proxy to allow access to remote SQLite databases over the
Postgres wire protocol. This allows GUI tools to be used on remote SQLite
databases which can make administration easier.The proxy works by translating Postgres frontend wire messages into SQLite
transactions and converting results back into Postgres response wire messages.
Many Postgres clients also inspect the `pg_catalog` to determine system
information so Postlite mirrors this catalog by using an attached in-memory
database with virtual tables. The proxy also performs minor rewriting on these
system queries to convert them to usable SQLite syntax._Note: This software was a proof of concept of wrapping SQLite with the Postgres
wire protocol. It is no longer maintained. You're welcome to fork this project if
you're interested in continuing development._## Usage
To use Postlite, execute the command with the directory that contains your
SQLite databases:```sh
$ postlite -data-dir /data
```On another machine, you can connect via the regular Postgres port of 5432:
```sh
$ psql --host HOSTNAME my.db
```This will connect you to a SQLite database at the path `/data/my.db`.
## Development
Postlite uses virtual tables to simulate the `pg_catalog` so you will need to
enable the `vtable` tag when building:```sh
$ go install -tags vtable ./cmd/postlite
```