Postgres OnLine Journal: January / December 2026
An in-depth Exploration of the PostgreSQL Open Source Database
 

Table Of Contents

Using PostgreSQL Extensions

Using PostgreSQL Extensions

 

http extension for windows updated to include PostgreSQL19 64-bit



Updated June 21st, 2026 64-bit package for PostgreSQL 19 http extension v1.7.1 release.

For those folks on windows who want to do http gets and posts directly from your PostgreSQL server, we've made binaries for the http extension for PostgreSQL Windows.

These are designed to work with PostgreSQL EDB windows distributions.

If you have PostGIS already installed, many of these files you will also already have since things like the libcurl and PCRE are also packaged with PostGIS.

http extension binaries for PostgreSQL 19, 18, 17, 16, 15, 14, 13, 12 11, 10, 9.6, 9.5, and 9.4 windows 64-bit downloads

PostgreSQL 17-19 64-bit are 1.7.1

PostgreSQL 16 and 15 are currently 1.6.1

PostgreSQL 10-14 64-bit are 1.5.0, other versions are older http versions.

The curl library for http is built with SSL support and utilizes the ssleasy.dll packaged with the EDB installs.

http extension binaries for PostgreSQL 10, 9.6, 9.5, and 9.4 windows 32-bit downloads

http quick primer

To enable in a database after having installed the binaries.

CREATE EXTENSION http;

Do a basic get

SELECT h.content, h.content_type, hkv.value As dt
FROM http_get('http://postgis.net/') AS h 
    LEFT JOIN LATERAL (SELECT *  
    FROM unnest(h.headers) 
        WHERE field =  'Date') AS hkv ON true;

Check out more examples at: https://github.com/pramsey/pgsql-http and https://github.com/pramsey/pgsql-openai.

http version 1.7 and up support setting any CURL settings via GUC variables. These can be set at the session, database, or system level. This is particularly useful if for some reason your paths aren't set to ssl bundle or you are using a self-signed cert.

Older versions of http extension prior to 1.7, you'd use the http_set_curlopt which would last at most for the length of your session.

SELECT http_set_curlopt('CURLOPT_SSL_VERIFYPEER', '0');

SET http.CURLOPT_SSL_VERIFYPEER = '0';
SELECT h.content, h.content_type, hkv.value As dt
FROM http_get('https://postgis.net/') AS h 
    LEFT JOIN LATERAL (SELECT *  
    FROM unnest(h.headers) 
        WHERE field =  'Date') AS hkv ON true;

Using PostgreSQL Extensions

 

Replacing pgAgent with pg_timetable: Part 1



pgAgent has been my go to scheduling solution for quite some time. Sadly in 6 months it will be completely retired and the pgAgent UI in pgAdmin will be gone. The main reasons I liked pgAgent were:

  • Cross Platform: I have a lot of windows and linux customers, so this was important.
  • Nice UI in pgAdmin, so I could do all work with PostgreSQL and schedule things at the same time as well as check status of jobs.
  • The database backend is PostgreSQL, my favorite database
  • Supports Multiple Agents with varying OS.
  • Supports jobs having many ordered steps

pg_timetable has all the above features I mentioned about pgAgent except for the nice UI in pgAdmin. It does have a rudimentary UI here pg_timetable_gui which I haven't tried out.

Another scheduler I've been using and liking is pg_cron. pg_cron is a much simpler scheduler agent and is largely patterned after Linux cron except it can only do database jobs. When all you want is something simple to schedule SQL it hits the spot nicely. But it has no agents, the database is pretty much the agent. I was avoiding pg_cron in the past cause it was unsupported on windows and I needed something that would work both on Linux and Windows. So I submitted a patch to get it to work under windows, compiling with mingw64. I've only tested compiling against mingw64, but use it with the windows PostgreSQL VC++ compiled servers fine. There was another pull request added to make pg_cron compile under Windows VC++ which hasn't been accepted yet. Anyway in a later article I'll compare the two and also provide binaries for pg_cron on windows if there isn't already one by the time I get to it.