all: generate vet generate: clean go mod init go mod tidy go generate go-generate: rm -f *.pb.go *.patch vet: @GO111MODULE=off go vet @echo this go library package builds okay # autofixes your import headers in your golang files goimports: goimports -w *.go clean: rm -f *.pb.go *.patch -rm -f go.* -go-mod-clean purge build: go build -o add_two.dll -buildmode=c-shared # PS D:\C\myextension> go build -o add_two.dll -buildmode=c-shared # In PostgreSQL: open the query window (adjust path to your generated dynamically loaded library and header file (.dll, .h). # CREATE FUNCTION add_two(int4) RETURNS int4 # AS 'D:/C/myextension/add_two.dll', 'add_two' # LANGUAGE C STRICT; # And finally test it: # SELECT add_two(10) # Result: # add_two (integer) # 1 13