首页 > 代码库 > Ubuntu下postgres的一些操作总结

Ubuntu下postgres的一些操作总结

Ubuntu下postgres的一些操作总结


1. 基本操作命令

  • 安装完成后,PostgreSQL默认创建了名为postgres数据库用户账户,其与MySQL的root以及SQL Server的sa账户一样,是超级管理员账户,但与MySQL不一样的是,PostgreSQL还创建了名为postgres的Unix系统账户。

  • 和SQL Server的master数据库一样,PostgreSQL的默认数据库是template1,你可以用命令行管理工具psql来管理它,当然前提是要切换到postgres的系统账户。

  • 在其中的常用命令行命令如下:

createdb dbname:新建数据库
dropdb dbname: 删除数据库
createuser [--superuser] username:创建用户
dropuserusername:               删除用户
  • 在交互式环境下常用到的命令:

\du:列出当前所有的用户信息
\l: 列出当前所有的数据库信息
\q: 退出
\password username:修改指定的user的密码
\dn:查看shema
\i:命令从指定的文件中读取命令

2. 使用shell命令行方式添加用户和创建数据库


PostgreSQL提供了命令行程序createuser和createdb,可以使用shell命令行方式添加用户和创建数据库。以新建用户dbuser和数据库exampledb为例。


  • 首先,创建数据库用户dbuser,并指定其为超级用户
    sudo -u postgres createuser --superuser dbuser

  • 然后,登录数据库控制台,设置dbuser用户的密码,完成后退出控制台。
    sudo -u postgres psql
    \password dbuser
    \q

  • 接着,在shell命令行下,创建数据库exampledb,并指定所有者为dbuser。
    sudo -u postgres createdb -O dbuser exampledbshell命令行登录数据库

  • 同样以上述例子中的用户和数据库为例,使用新用户的名义登录数据库
    psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
    上面命令的参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。输入上面命令以后,系统会提示输入dbuser用户的密码。输入正确,就可以登录控制台。

3. Ubuntu下postgresql的服务开启关闭方式使用如下命令:

  • Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ..]

4. 连接数据库时出现一些认证情况的解决办法:

  • 如果出现下面的错误:

    psql: FATAL: Ident authentication failed for user "mypguser"

    请编辑你的pg_hba.conf,这个文件一般位于
    /etc/postgresql/X.Y/main/pg_hba.conf,X.Y是你的PostgreSQL的版本号,将下面行的peer改为trust:

local   all    all    trust     # replace ident or peer with trust

 

  • 如果出现下面的错误:

    psql: FATAL: Peer authentication failed for user "mypguser"

    请仍然修改pg_hba.conf文件,该下面行的peer为md5:

local   all    all    md5       # replace peer with md5

完成上面的修改后请重新加载postgresql:

/etc/init.d/postgresql reload



本文出自 “斜视天花板” 博客,请务必保留此出处http://lemidi.blog.51cto.com/8601832/1535349