Blog

Cybertec Logo

  • Services
    • Requirement Analysis
    • PostgreSQL consulting
    • PostgreSQL migration
      • Migration from Oracle
      • Migrating from MySQL / MariaDB
      • CYBERTEC Migrator
    • PostgreSQL Infrastructure
      • Setup & Installation
      • Kubernetes
      • Database architecture
    • PostgreSQL development
      • Database modeling
      • Functions & Features
    • Update & Upgrade
    • Optimization & Security
      • PostgreSQL Health Check
      • Performance Tuning
      • Enterprise Security
      • Security Audit
    • Troubleshooting & Data Recovery
    • PostgreSQL clustering and HA
      • Clustering and failover
      • High availability with Patroni
      • Synchronous and asynchronous replication
      • Scaling with PL/Proxy
    • Spatial Services
      • GIS Tooling
      • PostGIS OSM Downloader
    • CYBERTEC Partner Network
  • Support
    • Standard PostgreSQL Support
      • Product Support
      • 9/5 Basic Support
      • 24/7 Basic Support
      • 24/7 Enterprise Support
    • Advanced PostgreSQL Support
      • 9/5 Remote DBA
      • 24/7 Remote DBA
      • 9/5 Dedicated DBA
      • 24/7 Cloud-based Support
    • Support for Reseller
      • 3rd Level Support
      • CYBERTEC Partner Network
  • Products
    • Our Products
      • CYPEX – Build Apps & Forms
      • CYBERTEC PostgreSQL Enterprise Edition
      • CYBERTEC Migrator
      • PostgreSQL Transparent Data Encryption
      • Scalefield – Private Cloud
      • Data Masking for PostgreSQL
      • PL/pgSQL_sec – Fully encrypted stored procedures
    • PostgreSQL Tools & Extensions
      • pg_timetable – Advanced Job Scheduling
      • pg_show_plans – Monitoring Execution Plans
      • pgwatch – PostgreSQL Monitoring Tool
      • pg_squeeze – Shrinks Tables
      • Walbouncer – Enterprise Grade Partial Replication
      • PGConfigurator – Visual PostgreSQL Configuration
      • ora_migrator
      • Patroni Environment Setup
    • Assessment Packages
      • Data Science Assessment Package
      • Start-Up Assessment Package
      • Spatial Data Assessment Package
    • CYBERTEC Partner Network
  • Training
  • PostgreSQL
    • Advantages of PostgreSQL
    • PostgreSQL Books
    • Solutions – Who uses PostgreSQL
      • PostgreSQL for Startups
      • PostgreSQL for governments and public services
      • Longlife solutions
    • Business Cases
      • Fraud Detection
      • PostgreSQL for biotech and scientific applications
  • Data Science
    • Data Science Overview
    • Machine Learning
    • Big Data Analytics
  • Contact

Blog

Get the newest tricks and useful tips about the world of PostgreSQL and Data Science! Our authors and technicians share their knowledge to keep you going with your data.

 

Searching for a quick tip? Check out our microblog, where we share our insights as they happen – short and simple!

Today I learned @ Cybertec

26.07.2022 | Laurenz Albe

Better SQL functions in PostgreSQL v14

We all know and value SQL functions as a handy shortcut. PostgreSQL v14 has introduced a new, better way to write SQL functions. This article will show the advantages of the new syntax. An example of an SQL function Let’s create a simple example of an SQL function with the “classical” syntax so that we […]

Read more
19.07.2022 | Julian Markwort

gexec in psql: PostgreSQL poweruser practice

For PostgreSQL powerusers, automating repeated steps is becoming more and more necessary, and gexec can help. This blog will show you how to use the || operator and the \gexec command to avoid unnecessary repetition in your workflow. The CLI client that ships with PostgreSQL is called psql. Like many CLI clients, it is often […]

Read more
13.07.2022 | Max Hofer

Meet the CYBERTEC Migrator

A free tool to migrate Oracle databases to PostgreSQL We at CYBERTEC are proud to release the CYBERTEC Migrator Standard Edition, the fastest tool to migrate a database to PostgreSQL. And the best part of it is- The CYBERTEC Migrator Standard Edition is available free of charge What? Another free (as in beer) tool to migrate […]

Read more
12.07.2022 | Hans-Jürgen Schönig

Column order in PostgreSQL does matter

I’ve recently seen some really broad tables (hundreds of columns) in a somewhat inefficiently structured database. Our PostgreSQL support customer complained about strange runtime behavior which could not be easily explained. To help other PostgreSQL users in this same situation, I decided to reveal the secrets of a fairly common performance problem many people don’t […]

Read more
05.07.2022 | Hans-Jürgen Schönig

Handling Bonus Programs in SQL

Bonus cards, “Miles & more”, bonus points – don’t we all love and hate them at the same time? Recently we had an interesting use case which made me think about sharing some of the techniques we used in this area to reduce client code by writing some clever SQL. This post will show you […]

Read more
29.06.2022 | Laurenz Albe

Transaction anomalies with SELECT FOR UPDATE

© Laurenz Albe 2022 I was recently confronted with a nice example of how adding FOR UPDATE to a query can introduce transaction anomalies. This article will explain how that happens and how you can cope with the problem. Be ready to learn some PostgreSQL implementation details! The example Setting the stage We have a […]

Read more
23.06.2022 | Laurenz Albe

Debugging deadlocks in PostgreSQL

© Laurenz Albe 2022 Even if you understand what a deadlock is, debugging deadlocks can be tricky. This article shows some techniques on how to figure out the cause of a deadlock. A simple deadlock example Setting the stage We will test our techniques for debugging deadlocks with the following example: The deadlock To provoke […]

Read more
15.06.2022 | Laurenz Albe

Case-insensitive pattern matching in PostgreSQL

  © Renée Albe 2022 Case-insensitive search is a much-requested feature, partly (I suspect) to maintain compatibility with Microsoft SQL Server. There are several solutions to the problem, one of which is to use case-insensitive ICU collations. This works like a charm, except if you want to perform pattern matching. So let’s have a closer […]

Read more
14.06.2022 | Pavlo Golub

Migrate scheduled jobs to pg_timetable from pg_cron

Why migrate to pg_timetable from pg_cron? There are a lot of reasons you may want to migrate from pg_cron: maybe you need to run a scheduler on a platform pg_cron doesn’t support; or you want to run several parallel schedulers simultaneously; it’s possible you hit the bugs in pg_cron that haven’t been fixed for ages […]

Read more
01.06.2022 | Laurenz Albe

View permissions and row-level security in PostgreSQL

© Laurenz Albe 2022 The details of how view permissions are checked have long puzzled me. PostgreSQL v15 introduces “security invoker” views, which change how permissions are checked. The new security invoker views make it possible to use row-level security effectively. I’ll use this opportunity to explain how view permissions work and how you can […]

Read more
24.05.2022 | Laurenz Albe

Help, I cannot cancel a PostgreSQL query!

© Laurenz Albe 2022 Sometimes a PostgreSQL query takes forever. Usually, it is easy to interrupt (cancel) such a statement, but sometimes it can turn into a problem, and a query cannot be canceled. This article discusses what might be the cause. I’ll also show you a trick how to solve the problem (not for […]

Read more
17.05.2022 | Pavlo Golub

Run multiple jobs but limit number of sessions – PostgreSQL: pg_timetable

If you are using pg_timetable to run multiple jobs on PostgreSQL, you need to understand how to calculate the number of database sessions, so you don’t overload your system. Recently, a related question came up on pg_timetable’s Github Disscussion page: What do you do when you get the following error message: “Failed to send chain to […]

Read more

logo

CYBERTEC PostgreSQL International GmbH
Römerstraße 19
2752 Wöllersdorf
AUSTRIA

+43 (0) 2622 93022-0
office@cybertec.at
twitter.com/PostgresSupport
github.com/cybertec-postgresql

Our Services

• Administration
• Replication
• Consulting
• Database Design
• Support
• Migration
• Development

 

SUPPORT CUSTOMERS
Go to the support platform >>

Newsletter

Check out previous newsletters!

Stay well informed about PostgreSQL by subscribing to our newsletter.

© 2000–2022 CYBERTEC PostgreSQL International GmbH
  • IMPORTANT INFORMATION ABOUT COVID-19
  • Contact
  • Data protection policy
  • Imprint
  • Terms and Conditions