我一直在尝试自动安装Open Street Map Server,因为还没有人发布过这个,并且任务非常繁琐。为了做到这一点,我在脚本中处理PostgreSQL数据库,我让Python负责。
以下情况:基本上我在整个bash代码中运行处理数据库的python脚本。我试图使安装尽可能用户友好,其中一部分是自动化PostgreSQL设置。我用bash提示用户输入他们想要用于PostgreSQL附带的postgres数据库的密码。然后我将他们的密码作为命令行参数发送到Python脚本。
这是我遇到问题的脚本的一部分:
import psycopg2
import sys
con = None
code = sys.argv[1]
try:
con = psycopg2.connect(database='postgres', user='postgres')
cur = con.cursor()
cur.execute("ALTER USER postgres WITH PASSWORD '%s'" % code)
基本上:在我更改postgres数据库密码的底线,它实际上并不起作用。我知道这一点,因为稍后我在bash脚本中提示输入密码,导致身份验证失败。
我对此非常陌生,所以如果有人有一些好的建议,我们将不胜感激。