微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql安装和基本操作

之前试过macports,但是看网上的评价不怎么样,主要是说会安装一些其他的包,对于我这样有洁癖的来说当然不行了。另外看到HomeBrew,便试了下,果然很爽,尤其是对于用惯了apt-get的来说。主页上有很方便的安装方法,但是蛋疼的是,在天朝常常会没法连接,没关系,可以打开这个地址,将网页另存为以.rb结尾的文件,然后终端中使用ruby 文件.rb就可以了。但是,有时候就是打开这个raw页面也需要爬墙,唉,无奈。好在爬墙总不是什么困难的事情。

安装好HomeBrew之后,使用

brew update&brew upgrade

更新后,便可以开始postgre@R_404_6308@了。

brew install postgre@R_404_6308@

创建postgre@R_404_6308@数据库:

initdb /usr/local/var/postgres

启动服务:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

停止服务:

pg_ctl -D /usr/local/var/postgres stop -s -m fast

自动启动服务:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/postgre@R_404_6308@/9.2.4/homebrew.mxcl.postgre@R_404[email protected] ~/Library/LaunchAgents/launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgre@R_404[email protected]

删除自动启动服务:

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgre@R_404[email protected]

好了,现在基本就算完成了,很简单。这时候下载pgadmin3,安装之后会出现role 'postgres' does not exist错误,原因你是没有创建postgres用户

createuser -d -a -P postgres

执行完这行命令后,postgresl角色就创建好了,再连接就不会报错。

导入@R_404_6308@文件,如导入back.@R_404_6308@:

p@R_404_6308@ -d database_name -f back.@R_404_6308@

在linux下需要首先切换到postgres用户再执行该命令:

su postgres

导出数据库文件:

pg_dump database_name > back.@R_404_6308@

卸载postgre@R_404_6308@,如果是使用homebrew安装的话,就和简单了:

brew uninstall postgre@R_404_6308@

如果是下载安装包安装的,有两种方法
1. 自动卸载,在安装目录下,mac下是/Applications/Postgre@R_404_6308@下有个uninstall-postgre@R_404[email protected],双击执行就可以了。
2. 手动删除

  • 停止服务

sudo /sbin/SystemStarter stop postgre@R_404[email protected]

sudo rm -rf /Applications/Postgre@R_404_6308@ 9.2

sudo rm -rf /etc/postgres-reg.ini

  • 移除startup items

sudo rm -rf /Library/StartupItems/postgre@R_404[email protected]

sudo rm -rf /Library/Postgre@R_404_6308@/9.2

sudo dscl . delete /users/postgres

PS:
可参考这两篇blog
1. http://nextmarvel.net/blog/2011/09/brew-install-postgre@R_404_6308@-on-os-x-lion/
2. http://kidsreturn.org/2012/03/install-postgre@R_404_6308@-on-mac-lion-via-homebrew/

基本操作

Postgre@R_404_6308@安装好后,其会自动以本机当前登录用户名创建三个数据库(Schema),你可以运行以下命令查看:p@R_404_6308@ -l

p@R_404_6308@是Postgre@R_404_6308@的交互式命令行工具

  • 创建用户

    @H_404_164@
  • 连接数据库p@R_404_6308@ postgres

  • 创建用户CREATE USER username [WITH PASSWORD 'password'];

  • 创建数据库

    @H_404_164@
  • CREATE DATABASE dbname;

  • 授权

    @H_404_164@
  • 授予所有权限GRANT ALL PRIVILEGES ON DATABASE dbname to username;

  • 授予查询权限GRANT SELECT ON DATABASE dbname to username;

  • 权限列表SELECTINSERTUPDATEDELETERULEREFERENCESTRIGGERCREATETEMPORARYEXECUTEUSAGE

  • 常用命令

    @H_404_164@
  • 连接数据库p@R_404_6308@ postgres

  • 列出所有数据库postgres=# \l

  • 列出用户postgres=# \du

  • 列出数据表postgres=# \dt

  • 描述数据表postgres=# \d tablename

  • postgres=#为命令行提示

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

    相关推荐