第一次设置psycopg2,如何为一些测试数据库配置它?

1 投票
1 回答
581 浏览
提问于 2025-04-18 06:42

这是我第一次使用PostgreSQL,我之前一直用MySQL。在Ubuntu上第一次安装MySQL服务器时,它会要求你输入一个MySQL的用户名和密码。完成这些后,你只需要提供:

MySQL Host: 127.0.0.1
Username: root
Password: 123pie

然后你就可以打开你喜欢的数据库软件,比如sequel pro,通过SSH连接到MySQL,使用上面提到的localhost IP。

不过现在我的客户在用PostgreSQL,所以我需要快速学习如何设置它。

到目前为止,我做了这些:

pip install psycopg2==2.4.5

看起来这只是Django和Python打开PostgreSQL数据库所需的一个库。它看起来和MySQL服务器不太一样。

安装PostgreSQL服务器是我接下来需要做的事情吗?在命令行安装完之后,它的设置过程和MySQL服务器完全一样吗?

我从来没有用过PostgreSQL,我想它的使用方式和MySQL非常相似吧?

1 个回答

1

Ubuntu社区维基上,有一份关于在Ubuntu上设置PostgreSQL的详细指南。这是你开始的好地方。

对于大多数应用来说,只需要为网页服务器的用户名创建一个PostgreSQL用户就可以了:

sudo -u postgres createuser www-data

然后为这个用户创建一个数据库,供应用使用:

sudo -u postgres createdb -O www-data test_django

接着配置应用,让它用用户名www-data连接到test_django数据库,并且不需要密码。在大多数Linux发行版中,包括Ubuntu,PostgreSQL默认使用peer认证方式,这意味着你需要有与连接的Postgres用户相同的Unix用户名,而且不需要密码。

如果应用强制要求你提供密码,并且不接受空密码,或者如果你想让应用使用一个与网页服务器运行的用户不同的用户名(也就是说,为了让多个网页应用之间相互隔离),你需要pg_hba.conf中添加一条记录,为那个数据库/用户名组合指定md5密码认证——或者为所有数据库的所有用户都设置。

撰写回答