matthewfranglen / postgres-elasticsearch-fdw

Postgres to Elastic Search Foreign Data Wrapper
MIT License
108 stars 32 forks source link

Use pgsql-io/multicorn2 as the basis to support pg13 & pg14 #32

Closed luss closed 1 year ago

luss commented 2 years ago

Will you consider to change your doc?

luss commented 2 years ago

oops, thats https://github.com/pgsql-io/multicorn2

matthewfranglen commented 2 years ago

Ah nice! I'll update the docs.

matthewfranglen commented 2 years ago

So I've had a go at this and you can see the Dockerfile that I have created here: https://github.com/matthewfranglen/postgres-elasticsearch-fdw/blob/multicorn-2/tests/docker/pg-13/Dockerfile

The extension compiles successfully and the tests pass. It's really great you are doing this.

The summary of the commands I run in docker is:

apt-get update

apt-get install --yes git postgresql-server-dev-13 python3 python3-dev python3-setuptools python3-pip

git clone https://github.com/pgsql-io/multicorn2 /tmp/multicorn2
cd /tmp/multicorn2
PYTHON_OVERRIDE=python3 make install
cp /tmp/multicorn2/multicorn.control /usr/share/postgresql/13/extension/multicorn.control
rm -rf /tmp/multicorn2

To recommend the use of this library it would be great if there was a single makefile command that correctly installs the control file, and that the library itself has some documentation to help installation problems. Problems I had related to:

As a separate note I really like the self documenting makefile that I have used for this very repo. It's something that I end up copying into everything I work on. It works by making the default target the HELP target which reads the makefile and lists the targets that are documented (those have a preceding comment that starts with ##). Running it on this repo produces:

➜ make
Available rules:

clean               Delete all compiled Python files 
format              Format Python code 
publish             Publish to pypi 
purge               Completely reset environment 
requirements        Install Python Dependencies 
test                Run Tests 

Using this on your repo would help a lot as I'm not really sure if I should be running all or install.

In the long term I assume that you will be submitting this for inclusion in the debian / ubuntu package repositories as that would make installation considerably simpler.

To make a change to the documentation I would like to confirm what the installation instructions should be. I'm not confident that I have the correct ones!

matthewfranglen commented 2 years ago

(actually the elasticsearch 7 tests fail but I suspect that is a separate issue unrelated to multicorn)

matthewfranglen commented 1 year ago

I've mentioned using Multicorn 2 as the installation approach in the README and on pypi. The PostgreSQL 13 tests pass so that is a way to support that properly. I have a problem with PostgreSQL 14 and 15 which I have documented here.

Thank you for your work on Multicorn 2, and for your unfailing support of this FDW. I appreciate what you do, a lot.

luss commented 1 year ago

Hi Mathew,

I've taken your suggestion and dramatically improved the README of pgsql-io/multicorn2. Please have a look and tell me what u think.

--Luss

On Fri, Apr 22, 2022 at 11:22 AM matthewfranglen @.***> wrote:

(actually the elasticsearch 7 tests fail but I suspect that is a separate issue unrelated to multicorn)

— Reply to this email directly, view it on GitHub https://github.com/matthewfranglen/postgres-elasticsearch-fdw/issues/32#issuecomment-1106620996, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMWOHQ2VJLTSC3QVSSWNPDVGK74BANCNFSM5UCC62PQ . You are receiving this because you authored the thread.Message ID: @.*** com>

matthewfranglen commented 1 year ago

That's great @luss thank you for taking the time to update the README.