参考博文:
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