【转】linux下 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:创建用户
dropuser username:                删除用户
  • 在交互式环境下常用到的命令:
du:列出当前所有的用户信息
l: 列出当前所有的数据库信息
q: 退出
password username:修改指定的user的密码
dn:查看shema
i:命令从指定的文件中读取命令
c database: 选择database数据库
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
原文地址:https://www.cnblogs.com/wuling129/p/4763250.html