在Ubuntu上安装新的PG

时间:2013-04-22 17:59:48

标签: postgresql ubuntu install vps

我正在设置一个Digital Ocean Ubuntu服务器来托管我的新网站,但在设置postgres时遇到了麻烦。

我安装得很好但是当我尝试使用psql访问它时,我得到了:

  

psql:致命:角色“演示”不存在

一些简单的问题:

  1. 安装postgres是否创建了标准的ubuntu用户帐户?

  2. 如何创建新的postgres帐户,我尝试了createuser但获得以下内容:

    demo @ dubbo:〜$ createuser 输入要添加的角色名称:demopg 新角色应该是超级用户吗? (是/否)y createuser:无法连接到数据库postgres:致命:角色“demo”不存在

  3. 我想,一旦我有了postgres用户,我就应该能够为我的应用程序创建一个db来使用。

1 个答案:

答案 0 :(得分:3)

以下是我在Ubuntu上进行开发安装PostgreSQL的步骤(我正在使用PostreSQL和Rails):

$ sudo apt-get install postgresql postgresql-contrib libpq-dev

我们需要libpq-dev才能安装Ruby pg gem。设置完成后, 然后运行以下命令:

$ sudo -u postgres createuser --superuser $USER
$ sudo -u postgres createuser --superuser demo
$ sudo -u postgres psql postgres

第一个命令创建一个与您的用户名匹配的用户。第二个命令创建一个供您的应用程序使用的用户 - 这是您通常用psql登录的用户。第三个命令将直接带您进入psql控制台,并将打开postgres数据库。它只是与postgres用户对应的数据库,在安装PostgreSQL时由于某种原因是必要的。

在psql提示符下,键入以下命令:

postgres=# \password demo

为您的用户设置密码。一旦它返回到提示符,键入“\ q”以退出psql提示符。

现在您将回到终端,然后可以为您的应用程序创建数据库。

$ createdb your_db_name

现在,您需要更改postgresql.conf文件以使PostgreSQL至少侦听localhost。如果您有想要侦听外部IP或其他内容的设置,请将此行更改为IP或“*”。

/etc/postgresql/9.1/main/postgresql.conf:
listen_addresses = 'localhost'

然后,在pg_hba.conf中,确保你有这个:

/etc/postgresql/9.1/main/pg_hba.conf:
# "local" is for Unix domain socket connections only
local   all         all                               md5

否则,在尝试从Rails应用程序登录时可能会出错。在此之后,您所要做的就是使用以下命令启动PostgreSQL:

$ sudo /etc/init.d/postgresql start

你准备好了!使用以下命令启动psql:

$ psql -U demo

系统将提示您输入您设置的密码。您可以使用以下命令连接到您创建的数据库:

# \c your_db_name
祝你好运!