pev2
awesome-db-tools
Our great sponsors
pev2 | awesome-db-tools | |
---|---|---|
40 | 18 | |
2,363 | 3,697 | |
3.4% | - | |
7.7 | 6.3 | |
12 days ago | 18 days ago | |
TypeScript | ||
PostgreSQL License | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pev2
-
Retrieving the latest row per group from PostgreSQL
This runs in about 250ms. Let's have a look at the explain plan to understand it better. To visualise it, I am using the excellent visualisation tool from Dalibo.
-
Pg_hint_plan: Force PostgreSQL to execute query plans how you want
The PEV2 is open source and give you a good visualization. I never used this pgmustard to compare.
https://explain.dalibo.com/
-
Efficient Database Queries in Rails: A Practical Approach
Visualize Your Plan: Visit explain.dalibo.com and paste the generated plan text and query. Then, hit Submit. The tool will generate a visualization of your query plan. Here's an example of the visualization for the fifth attempt version of the query from this post. It shows the different types of scans that were used and how the data gets combined. The duration of each operation is also shown:
-
What's new in the Postgres 16 query planner (a.k.a. optimizer)
You can download the whole analyzer as a simple html file and use it this way. No need to obfuscate or sanitize anything at all.
https://github.com/dalibo/pev2
- Visualizing and understanding PostgreSQL EXPLAIN plans made easy
- Don't use DISTINCT as a "join-fixer"
-
When should you use the IN instead of the OR operator in Postgres queries?
You might be interested in sites like https://explain.dalibo.com/ which make the output a bit nicer to read. I use these quite often to quickly identify bottlenecks.
-
200 Web-Based, Must-Try Web Design and Development Tools
PostgreSQL Query Plan Analyzer and Visualizer
-
Do you use pgAdmin? Why?
I didn’t know about pev2, interesting, checking it now. Did you integrate the component yourself or are you using this hosted page by them: https://explain.dalibo.com/?
-
Tuning DB
IMO it‘s important to get started with indexing. Grab your most frequently used queries and run an EXPLAIN ANALYZE to identify the problems. This tool might help you to understand your execution plans. Once you identified your problems, you can build indexes and check again. Then you should regularly check if your indexes are used.
awesome-db-tools
-
SQLedge: Replicate Postgres to SQLite on the Edge
#. SQLite WAL mode
From https://www.sqlite.org/isolation.html https://news.ycombinator.com/item?id=32247085 :
> [sqlite] WAL mode permits simultaneous readers and writers. It can do this because changes do not overwrite the original database file, but rather go into the separate write-ahead log file. That means that readers can continue to read the old, original, unaltered content from the original database file at the same time that the writer is appending to the write-ahead log
#. superfly/litefs: aFUSE-based file system for replicating SQLite https://github.com/superfly/litefs
#. sqldiff: https://www.sqlite.org/sqldiff.html https://news.ycombinator.com/item?id=31265005
#. dolthub/dolt: https://github.com/dolthub/dolt
> Dolt can be set up as a replica of your existing MySQL or MariaDB database using standard MySQL binlog replication. Every write becomes a Dolt commit. This is a great way to get the version control benefits of Dolt and keep an existing MySQL or MariaDB database.
#. pganalyze/libpg_query: https://github.com/pganalyze/libpg_query :
> C library for accessing the PostgreSQL parser outside of the server environment
#. Ibis + Substrait [ + DuckDB ]
> ibis strives to provide a consistent interface for interacting with a multitude of different analytical execution engines, most of which (but not all) speak some dialect of SQL.
> Today, Ibis accomplishes this with a lot of help from `sqlalchemy` and `sqlglot` to handle differences in dialect, or we interact directly with available Python bindings (for instance with the pandas, datafusion, and polars backends).
> [...] `Substrait` is a new cross-language serialization format for communicating (among other things) query plans. It's still in its early days, but there is already nascent support for Substrait in Apache Arrow, DuckDB, and Velox.
#. benbjohnson/postlite: https://github.com/benbjohnson/postlite
> 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 is in alpha. Please report bugs. Postlite doesn't alter your database unless you issue INSERT, UPDATE, DELETE commands so it's probably safe. If anything, the Postlite process may die but it shouldn't affect your database.
#. > "Hosting SQLite Databases on GitHub Pages" (2021) re: sql.js-httpvfs, DuckDB https://news.ycombinator.com/item?id=28021766
#. awesome-db-tools https://github.com/mgramin/awesome-db-tools
- What are your favourite books and maybe online courses on databases?
-
Looking For Personal Database
Check IDE and GUI sections of https://github.com/mgramin/awesome-db-tools, some of them should be able to work with SQLite. My use case is different from yours (I'm developer and have no need for manual data entry) so I'm not sure what's best for you, try them yourself.
-
Is there a good alternative for the tool DataQuant (IBM)?
Looking forward to my special db tools list https://github.com/mgramin/awesome-db-tools especially IDE and GUI sections
-
Learning Resources and Puzzles for SQL
I have been starting to gathering learning resources and puzzles for SQL. Feel free to add new ones https://github.com/mgramin/awesome-db-tools#learning
- Learning resources and puzzles for SQL. Feel free to add new
-
Lazy beginner MySQL dev wants opinions
I think sharing database access across Internet is quite dangerous decision because of security. Instead of LAMP (or something like that) you might to use special tools or platforms for building/generating API or even a whole application over your DB https://github.com/mgramin/awesome-db-tools (API and "Application platforms" sections)
-
Can I master beginners level SQL in a week?
I have an idea to create special section for SQL learning resources and SQL puzzles in my database tools list https://github.com/mgramin/awesome-db-tools/issues/336 because I see similar questions everyday. Lets do it together! 😉
-
SSMS alternative for Mac?
Take a look at awesome-db-tools list, especially IDE section https://github.com/mgramin/awesome-db-tools
-
MS SQL Formatting Standards
BTW I'm planning to add special section with SQL coding conventions and rules to my list https://github.com/mgramin/awesome-db-tools
What are some alternatives?
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
Replibyte - Seed your development database with real data ⚡️
hypopg - Hypothetical Indexes for PostgreSQL
Awesome-Design-Tools - The best design tools and plugins for everything 👉
pev - Postgres Explain Visualizer
migra - Like diff but for PostgreSQL schemas
sysbench - Scriptable database and system performance benchmark
beekeeper-studio - Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
awesome-production-machine-learning - A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning
octosql - OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Become-A-Full-Stack-Web-Developer - Free resources for learning Full Stack Web Development