An easy, beginner-friendly PostgreSQL database wrapper similar to quick.db.
- Near identical syntax to quick.db
- Never worry about constant database corruptions again
- Fully flexible, uses pg internally
- Relies on ES6 promises (
async/await,.then())
If you don't know about quick.db, quickpostgres also has:
- Persistent storage - all data is stored on your PostgreSQL database
- Easy to setup - All you need is a PostgreSQL database to setup
- Beginner friendly - Use simple syntax with dot notation
- No learning curve - 0 learning curve if you're coming from quick.db or quickmongo
You can easily install quickpostgres using your preferred package manager.
npm install quickpostgres
# or
yarn add quickpostgres
# or
pnpm add quickpostgres- Node.js 14 or above
- A PostgreSQL database
Quickpostgres has similar (if not almost identical) syntax to quick.db. You can refer to their documentation if you are getting stuck.
Note: Quickpostgres is built on top of promises, meaning you need to resolve them first using
.then()orawaitto get their returned data.
// Import quickpostgresconst{ Client }=require("quickpostgres");// Create a new client using the default values on localhostconstdbUrl="postgresql://postgres:<password>@localhost:5432/postgres";constdb=newClient(dbUrl);(async()=>{// Connect to your clientawaitdb.connect();// Setting an object in the database:awaitdb.set("userInfo",{difficulty: "Easy"});// => { difficulty: "Easy" }// Pushing an element to an array (that doesn't exist yet) in an object:awaitdb.push("userInfo.items","Sword");// => { difficulty: "Easy", items: ["Sword"] }// Adding to a number (that doesn't exist yet) in an object:awaitdb.add("userInfo.balance",500);// => { difficulty: "Easy", items: ["Sword"], balance: 500 }// Repeating previous examples:awaitdb.push("userInfo.items","Watch");// => { difficulty: "Easy", items: ["Sword", "Watch"], balance: 500 }awaitdb.add("userInfo.balance",500);// => { difficulty: "Easy", items: ["Sword", "Watch"], balance: 1000 }// Fetching individual propertiesawaitdb.get("userInfo.balance");// => 1000awaitdb.get("userInfo.items");// ["Sword", "Watch"]// End the database connectionawaitdb.end();})();For now, please use GitHub discussions if you need any support.
I may consider opening a Discord support server soon, but this is not guranteed.
You must adhere to the code of conduct when interacting within the quickpostgres repository.
If you spot a bug or you have a feature request, please open a GitHub issue, or if you'd like to write some code, you can open a pull request.
If you spot a security vulnerability, please contact me.
- Some users consider quick.db non-suitable in the long term, reason being it uses SQLite, and is not easily scalable. However, since quickpostgres uses PostgreSQL, one of the best production-grade database system out there, quickpostgres is suitable for production usage, in terms of performance.
- Quickpostgres is meant for beginners, and uses a JSON-feeling database. If you want to use the full advantages of PostgreSQL, we highly recommend you switching to something else.