eulerto / wal2json

JSON output plugin for changeset extraction
BSD 3-Clause "New" or "Revised" License
1.33k stars 161 forks source link

Amazon RDS #39

Closed kushaank closed 7 years ago

kushaank commented 7 years ago

Hi, I'm using version 9.6.3 and cannot load the wal2json extension. I cannot see it when i list the available extensions as well. I can however work with 'auto_complete' and apparently they were both added together.

rcoup commented 7 years ago

@kushaank you're doing CREATE EXTENSION? That's not needed for logical decoding output plugins.

Try: pg_recvlogical -h $HOST -d $DB -U $USER --slot=test --create-slot --plugin=wal2json If it works you're good, if it returns an error like: pg_recvlogical: could not send replication command "CREATE_REPLICATION_SLOT "test" LOGICAL "wal2json"": ERROR: could not access file "wal2json": No such file or directory then it's not working right and I'd suggest an AWS support request.

kushaank commented 7 years ago

I haven't used that yet. Im just trying to load the plugin because that's what I saw under the extensions link under RDS documentation and when I try to use "LOAD $libdir/....", it spits out "wal2json: no such file or directory"

eulerto commented 7 years ago

@kushaank could you try

LOAD 'wal2json'

Extensions are usually installed on PKGLIBDIR and, in this case, you don't need to explicitly type '$libdir'.

$ pg_config --pkglibdir
/home/euler/pg10/lib/postgresql
$ ls -la /home/euler/pg10/lib/postgresql/wal2json.so 
-rwxr-xr-x 1 euler euler 83288 Out 19 16:11 /home/euler/pg10/lib/postgresql/wal2json.so
$ psql
psql (10beta1)
Type "help" for help.

euler=# load 'wal2json';
LOAD
euler=# \q
kushaank commented 7 years ago

I got it to work by changing 'rds.logical_replication' to 1 in the Amazon RDS console parameters and then used set parameters on my DB instance and that worked! I didnt have to explicitly load it as well.

Thank you for the help :)