用于sql数据库的socketmap脚本

socketmap-sql的Python项目详细描述


用于与SQL数据库接口的SocketMap脚本。

为什么?

我有很多freebsd服务器,其中一个打算作为我的主服务器 MailServer(当前和剩余的一个成为辅助MailServer)。 问题是我正在使用postfix,并且非常努力地坚持 预编译的包而不是使用端口,而freebsd上的postfix缺少 绑定到数据库。在我的例子中,我希望能够使用sql数据库。

配置格式

配置文件是包含两种类型节的ini文件。

首先是[database]部分,它提供数据库连接的详细信息。 driver字段指定要使用的驱动程序;如果省略,则默认值为 到sqlite3。其余字段将传递给驱动程序的connect() 功能。

[database]
driver = sqlite3
database = /path/to/sqlite.db

其他部分从table:开始,并表示要查询的虚拟表。 有两个字段:transform(可选)和query(必需)。

transform字段提供要应用于查询的转换的名称 参数在查询中使用之前。默认情况是接受 参数原样(all)。其他值可以是对python函数的引用 在'module:function'格式中,local仅用于本地部分,domain用于 地址的域部分和split将电子邮件地址一分为二。 它必须返回一个列表或元组,给出要在 查询。

query字段提供一个用于生成合成表的sql查询。 使用数据库驱动程序文档中指定的占位符。

用法

使用:

socketmap-sql --config /path/to/config.ini

如果不提供–config标志,则默认为 /etc/socketmap-sql.ini

后缀

此脚本将由postfix的spawn机制执行,这意味着 它读取输入并将输出分别写入stdin和stdout。

假设您已经在/usr/local/libexec中安装了脚本,则添加 跟随master.cf

sockmapd  unix  -      -       n       -       1       spawn
  user=nobody argv=/usr/local/libexec/socketmap-sql

兼容性

该脚本只适用于Python3.3+,尽管它可以用于Python 2.7适度修补。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android操作共享首选项更新值   java是否可以在单个参数化测试之前执行一次方法?   Java创建临时文件   java字符串已定义但未解析?   java JOptionPane。showConfirmDialog返回int 01而不是字符串YN   java Unitronics OPC Server>JIException访问被拒绝   gzip使用Java组合压缩的gzip文本文件   java在灵活的环境中部署bigtable helloworld不起作用   aspectJ中的java字段读字段写访问   java Hibernate让它映射   找不到媒体类型为application/json、类型为class java的MessageBodyWriter。util。ArrayList   java在SpringMVC中将图像上传到服务器并在mysql数据库中存储引用   如何用Java制作自己的解释器?   java在移动应用程序上使用appium滚动并查找页面中的元素   java无法在重新启动springjdbc、CommonDBCP、tomcat时连接到数据库   java捕获非法argumentException的最佳方法是什么   设计模式避免Java代码重复的良好实践   Java ResourceBundle是如何实现的。getBundle加载属性文件?   java远程访问OpenMQ