Skip to content

edpratomo/pg_redispub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pg_redispub

redispub(TEXT, TEXT)

sends PUBLISH channel message to redis instance from postgresql.

Installation

Requires libhiredis-devel package.

$ make
$ sudo make install

Use psql to load the extension:

create extension if not exists "pg_redispub";
select * from pg_extension;
select * from redispub('seat', '100');

SELinux Troubleshooting

If you see this warning: "WARNING: failed to connect to redis: permission denied" then check audit.log, e.g. /var/log/audit/audit.log:

avc:  denied  { name_connect } for  pid=4773 comm="postgres" dest=6379 scontext=system_u:system_r:postgresql_t:s0 tcontext=system_u:object_r:redis_port_t:s0 tclass=tcp_socket permissive=0

Use audit2allow to fix this issue.

# audit2allow -w -a

type=AVC msg=audit(1444121144.166:604): avc:  denied  { name_connect } for  pid=4773 comm="postgres" dest=6379 scontext=system_u:system_r:postgresql_t:s0 tcontext=system_u:object_r:redis_port_t:s0 tclass=tcp_socket permissive=0
    Was caused by:
    type enforcement (TE) allow rule.

    can use audit2allow to generate a loadable module to allow this access.

# audit2allow -a -M postgresredispol
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i postgresredispol.pp

# semodule -i postgresredispol.pp

License

pg_redispub is (c) Edwin Pratomo, 2015; it is distributed under the terms of the MIT License, see LICENSE for details.

About

postgres extension for sending PUBLISH to redis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published