In the previous blog post, we discussed the different Windows build variants that PostgreSQL supports. In this post, we’ll discuss how, as a Unix-based developer, you can check whether your patch might work on Windows. (For simplicity, I’ll say “Unix” to mean Linux, BSD, macOS, and similar.) First, there are a few ways to check […]
Creating a PostgreSQL procedural language – Part 4 – Handling Input Parameters
/1 Comment/in Mark's PlanetPostgreSQL /by Mark WongOne method to handle input parameters with PL/Julia is to rewrite the body of the user defined function or stored procedure on the fly with the values declared as global variables. In order to do that, we need to create a new buffer big enough to hold the new global variable declarations in addition to […]
Developing PostgreSQL for Windows, Part 2
/0 Comments/in Eisentraut's PlanetPostgreSQL, PostgreSQL /by Peter EisentrautIn the previous blog post, we discussed the different Windows build variants that PostgreSQL supports. In this post, we’ll discuss how, as a Unix-based developer, you can check whether your patch might work on Windows. (For simplicity, I’ll say “Unix” to mean Linux, BSD, macOS, and similar.) First, there are a few ways to check […]
Researching PostGIS slowness (2019 edition)
/2 Comments/in 2ndQuadrant, Alvaro's PlanetPostgreSQL, PostgreSQL /by Álvaro HerreraJust as last year was ending, one of our long-time customers came to us because one of their long-existing PostgreSQL queries involving PostGIS geometry calculations was much slower for specific values. We researched the problem and found out how to solve it; read on! What we found as the cause of the problem will surprise […]
Webinar: All you need to know about CREATE STATISTICS [Follow Up]
/0 Comments/in 2ndQuadrant, Webinars /by NoumanTomas Vondra, PostgreSQL Database Engineer at 2ndQuadrant, presented a webinar on CREATE STATISTICS command in PostgreSQL. The command was initially introduced in PostgreSQL 10 and saw further improvements in PostgreSQL 12. This command allows the database to collect multi-column statistics which helps the optimizer understand dependencies between columns, produces more accurate estimates and results in […]
How to use the SVM Machine Learning Model with 2UDA – PostgreSQL and Orange (Part 2)
/0 Comments/in 2ndQuadrant, Seemab's PlanetPostgreSQL /by Semab TariqThis article gives a step by step guide to utilizing Machine Learning capabilities with 2UDA. In this article, we’ll use examples of Animals to predict whether they are Mammals, Birds, Fish or Insects. Software versions We’re going to use 2UDA version 11.6-1 to implement the Machine Learning model. This version 11.6-1 combines: PostgreSQL 11.6 Orange […]
Creating a PostgreSQL procedural language – Part 3 – Executing User Code
/0 Comments/in Mark's PlanetPostgreSQL /by Mark WongA PostgreSQL procedural language handler needs to look up the body of the user defined function or stored procedure for the code to execute. Remember that the C function executed to handle PL/Julia user defined functions and stored procedures is defined in the SQL file. Thus the pljulia_call_handler() function needs to be updated to retrieve […]
Announcing New PostgreSQL Online Training Series
/0 Comments/in 2ndQuadrant, training /by Umair Shahid2ndQuadrant’s training courses are very popular amongst PostgreSQL professionals and enthusiasts, and have hosted more than 500 trainees in the last 10 years. Our current Public and On-Site training options, however, have their limitations. We are often asked: “When are you going to offer a training course in my region?“ It’s disheartening to tell people […]
Creating a PostgreSQL procedural language – Part 2 – Embedding Julia
/1 Comment/in Mark's PlanetPostgreSQL /by Mark WongJulia provides an API so that Julia functions can be called from C. PL/Julia will use this C API to execute Julia code from its user defined functions and stored procedures. Julia’s documentation provides an example C program that starts up the Julia environment, evaluates the expression sqrt(2.0), displays the resulting value to the standard […]
How to Automate PostgreSQL 12 Replication and Failover with repmgr – Part 2
/52 Comments/in PostgreSQL, repmgr, Sadeq's PlanetPostgreSQL /by 2ndQuadrant PressThis is the second installment of a two-part series on 2ndQuadrant’s repmgr, an open-source high-availability tool for PostgreSQL. In the first part, we set up a three-node PostgreSQL 12 cluster along with a “witness” node. The cluster consisted of a primary node and two standby nodes. The cluster and the witness node were hosted in […]
Webinar: Application Schema Migration [Follow Up]
/0 Comments/in Webinars /by Liaqat AndrabiWith applications evolving over time, there’s a need to enhance and evolve database schema as well. Sometimes this process involves some database tables and columns, creating new constraints and indexes, or even changing data types. In order to discuss Schema Migration in detail, 2ndQuadrant hosted the “Application Schema Migration” webinar, providing an in-depth overview of […]