pg电子游戏,pg电子官网,pg电子试玩,pg电子app,pg电子外挂,pg游戏,pg电子游戏平台,pg游戏官网,PG电子,麻将胡了,PG电子试玩,PG麻将胡了,百家乐,龙虎,捕鱼,电子,麻将胡了2
pgbouncer是为PostgreSQL数据库设计的轻量级连接池软件,使用它可以减少PostgreSQL的连接切换压力,并且能够针对客户端进行各种限制,比较方便。但是在使用它的时候,需要配置连接他的用户名和密码。我们一起来看看怎么生成保存有用户和密码的对应用户文件。
pgbouncer配置的用户文件中的账号密码也是postgresql数据库的用户和密码,因此第一种方法是,将postgresql数据库里保存的用户和密码导出,然后进行编辑。postgresql数据库里用户和密码保存在pg_shadow表里。我们来看下,语句是:
其实这是因为里面的用户都没有设置密码,所以才没有对应的md5密文。我们设置一下密码,然后就能看见对应的密码了。如下所示,使用psql自带的\password密码给dba用户设置密码。然后就可以看到md5密文了。
然后就可以使用copy命令将用户名和密码备份出来了,如下所示,但是这里需要提醒的是,使用copy命令复制数据时,导出的文件要使用绝对路径。如果使用相对路径会报错。像下面图中所示,第一次直接使用userlist.txt,就报错。第二次使用/var/lib/pgsql/userlist.txt就正常,然后在postgres用户的家目录下就能看到生成的userlist.txt密码文件。
但是这种方式生成的密码文件还不能直接使用,需要处理一下,如下所示,刚生成的文件,默认是把所有的用户都下载下来了,而我们想使用的只有dba这一个用户,因此需要删掉其他用户的记录。同时,pgbouncer要求用户文件中的用户名和md5密文都使用双引号括起来,否则不能使用,编辑好后如下所示:
还需要最后一步,切换到root用户,然后root用户将userlist.txt文件从postgres用户的家目录复制到/etc/pgbouncer这个配置文件目录里去。这样就可以正常使用了。
使用copy命令可能略显繁琐,因此可以使用pgbouncer自带的mkauth.py脚本来操作。会稍微简单一些,首先切换到/etc/pgbouncer目录,然后使用mv命令将上面copy命令导出的userlist.txt文件备份一下。操作如下面图中所示:
备份完成后,在目录下可以看到mkauth.py这个可执行文件,然后还可以看到备份好的userlist.txt.bak文件。然后就可以准备使用mkauth脚本了。在使用之前,首先确认你自己安装好了psycopg2这个python模块。因此mkauth是利用这个模块来连接postgresql数据库的。如果没有安装会提示下面图一中的错误。如果出现这个no module的提示错误,就使用pip命令安装psycopg2模块,如下面图二中所示:
安装好以后,就可以使用mkauth脚本来生成密码文件了,mkauth脚本的基本格式是:
这里的连接参数是一个字符串,使用双引号括起来,然后里面的键值对之间用空格隔开,不能用逗号(这个一定要注意)。如下面图中所示:
文件中,用户名和md5密码都是用双引号括起来的,不需要在做修改,但是默认也是会备份所有用户名,如果只想使用单个用户名,就需要打开userlist.txt文件,将其他的用户删掉,如下面图中所示:
默认mkauth.py脚本执行命令的时候参数里会带有postgresql用户名和密码,因此可以将这个用户名和密码直接在脚本里传递
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
写经验 有钱赚
如要投诉,请到百度经验投诉中心,如要提出意见、建议, 请到百度经验管理吧反馈。
©2025Baidu京ICP证030173号-1 京网文【2023】1034-029号