PostgreSQL Blog

Difference Between GROUP BY and PARTITION BY

Summary: The GROUP BY and PARTITION BY clauses are both used in SQL to group data and calculate aggregate values, then what’s the difference between them?

Continue reading

Access PostgreSQL with ChatGPT

Summary: GPT can write SQL. If we write our question in plain English, and have GPT write the SQL to get the answer, well then we can save a lot of time spent on enterprise process management and data analysis software.

Continue reading

Database Compatibility and Selection Suggestions

Database compatibility is critical to the success of a database product, and it can even make the difference between life and death for a database product. The problem of database compatibility is essentially a problem that software products will have.

Continue reading

PostgreSQL optimizer is good enough

The optimizer is the heart and soul of a relational DBMS. It analyzes SQL statements and determines the most efficient access plan for satisfying each statement. For database optimizers, there have always been many voices among database-related practitioners.

Continue reading

Analyze Nginx access logs with PostgreSQL

Summary: PostgreSQL supports the data types json and jsonb, while nginx supports log output in JSON format. We can easily implement the analysis of nginx access logs using PostgreSQL.

Continue reading

PL/Scheme - Code is data

Sometimes it’s useful to bring data into code, and other times, it’s useful to bring code into data.

Continue reading

Why PostgreSQL?

PostgreSQL is an open source relational database system that supports complex query optimization, triggers, stored procedures, and functions. It has gained a good reputation for openness, feature richness, user-friendliness, and more.

Continue reading

Leaving MySQL

Today was my last day at Oracle, and thus also in the MySQL team. When a decision comes to switch workplaces, there’s always the question of “why”, but that question always has multiple answers, and perhaps the simplest one is that I found another opportunity, and and as a whole, it was obvious it was time to move on when that arrived. But it doesn’t really explain why I did go looking for that somewhere else in the first place.

Continue reading