We are thrilled to announce the availability of PostgreSQL® major version 15 in our Scalingo for PostgreSQL Database-as-a-Service offering. This upgrade brings a wealth of new features and improvements designed to enhance the performance and capabilities of your database.
One of the standout additions is the pgvector
extension, which will let you tap into the power of AI and machine learning technologies like never before!
In this article, we’ll take a closer look at PostgreSQL 15, from its revamped sorting algorithms to the handy new MERGE
command, and the impactful pgvector extension. We’ll also walk you through the easy upgrade process so you can begin using these new features right away.
One of the main new improvements of PostgreSQL 15 is an invisible, behind-the-scenes enhancement. The Global Development Group has been working hard to improve sorting algorithms and methodology.
This includes both in-memory and on-disk sorting methods. According to the official announcement, these improvements can boost sorting speed by anywhere from 25% to an impressive 400%.
And sorting isn’t just used for the ORDER BY
statement; it also plays a crucial, under the hood role, in several other common commands, including:
-- ORDER BY statement
SELECT field1 FROM customers ORDER BY field1;
-- SELECT DISTINCT statement
SELECT DISTINCT field1 FROM customers;
-- GROUP BY statement
SELECT count(id) FROM customers GROUP BY category;
Another standout feature is the introduction of the MERGE
command. This new statement simplifies data synchronization by combining INSERT
, UPDATE
, and DELETE
operations into a single transaction.
Example:
CREATE TABLE company (
product_id SERIAL PRIMARY KEY,
product_name TEXT NOT NULL,
quantity INT NOT NULL
);
-- Use MERGE to synchronize data
MERGE INTO inventory AS target
USING (VALUES
(1, 'Product A', 100),
(2, 'Product B', 200)
) AS source (product_id, product_name, quantity)
ON target.product_id = source.product_id
WHEN MATCHED THEN
UPDATE SET product_name = source.product_name, quantity = source.quantity
WHEN NOT MATCHED THEN
INSERT (product_id, product_name, quantity)
VALUES (source.product_id, source.product_name, source.quantity);
This will prove particularly useful for users with large, partitioned datasets.
pgvector
With the upgrade to PostgreSQL 15 comes pgvector
- a groundbreaking extension designed to transform your data management capabilities. Pgvector enables seamless manipulation and querying of vector data directly within your database, making it ideal for advanced AI and machine learning applications.
By storing and querying image embeddings as vectors, you can now efficiently compare and classify images based on visual similarities. Similarly, pgvector supports natural language processing by enabling semantic searches and document analysis using text embeddings as vectors. This capability has the potential to transform recommendation systems in e-commerce and optimize search engines in content platforms.
Stay tuned for our upcoming articles, where we’ll dive deeper into pgvector’s capabilities with practical examples.
In the meantime, you can use the following SQL statement to enable the extension in your upgraded PostgreSQL 15 database:
CREATE EXTENSION vector;
Read our full documentation on enabling extensions, here
With PostgreSQL 15.7, our database service now supports the latest versions of key external extensions:
2.14.2
3.4.2
0.7.1
Upgrading to PostgreSQL 15 in our Database-as-a-Service offering is easy. Just click the “Upgrade” button on your addon’s database dashboard.
Before upgrading, make sure you’ve completed the last minor version update from the 14.x
series. The upgrade process is designed to be smooth, with minimal downtime of just a few minutes for both Starter and Business plans.
We encourage all our customers to take advantage of these new features and improvements by upgrading today. As usual, if you have any questions or need assistance during the upgrade process, our team is here to help. Simply contact us via your dashboard and we’ll be happy to assist.
At Scalingo (with our partners) we use trackers on our website.
Some of those are mandatory for the use of our website and can't be refused.
Some others are used to measure our audience as well as to improve our relationship with you or to send you quality content and advertising.