This is for PostgreSQL 64-bit EDB Windows 64-bit distributions

For EDB: Copy binaries to respective folders in your PostgreSQL  install.
You can skip the extra\_depends folder as that contains Curl and SSL binaries that should
already be included as part of your EDB install. Only copy these into bin if CREATE EXTENSION http doesn't work
and you don't have these files already in bin.

In your database run:



CREATE EXTENSION http;

Compiled using gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
Built using msys2 https://github.com/msys2/msys2-installer/releases/download/2023-07-18/msys2-base-x86\_64-20230718.tar.xz



To Use, install the extension in your db:
CREATE EXTENSION http;



# quick test

SELECT \* FROM http\_get('http://postgis.net');

# ssl test

SELECT \* FROM http\_get('https://postgis.net');

if you get an error - ERROR:  SSL certificate problem: unable to get local issuer certificate,
then you'll need either ignore ssl certificate issues, by doing the below before you call:

-- legacy syntax
SELECT http\_set\_curlopt('CURLOPT\_SSL\_VERIFYPEER', '0');

-- new in 1.6.3
SET http.curlopt\_ssl\_verifypeer = '0';
SELECT \* FROM http\_get('https://postgis.net');

More secure way is to specify location of a bundle, replace the 18 with your version of postgresql
You can store the crt file anywhere you like that the postgres daemon has access to.

SET http.CURLOPT\_CAINFO = 'C:/Program Files/PostgreSQL/18/ssl/certs/ca-bundle.crt';

Note these variables, you can set at the session level, database level or system level.
E.g.
ALTER SYSTEM SET http.CURLOPT\_CAINFO = 'C:/Program Files/PostgreSQL/18/ssl/certs/ca-bundle.crt';

SELECT \* FROM http\_get('https://postgis.net');

