MacOS下对postgresql的简单管理操作
如何安装在另一篇blog中有述,这里不再赘述.本篇简单说一下安装完postgresql之后的一些管理和查询操作. 首先安装完postgresql之后需要初始化数据库: initdb /usr/local/var/postgres -E utf8
如果你不初始化,那么db的路径就是上面的/usr/local/var/postgres(在MacOS 10.11上),数据库编码类型就是utf8. 我们可以设置开机启动postgresql服务: ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
第一句将postgresql的配置plist文件做软连接至系统的对应路径下,第二句加载其中的一个plist文件.有可能你的postgresql不是通过homebrew安装的,你的plist文件名会略有不同,你只需要自行到/usr/local/opt/postgresql/中找到正确的文件名就可以了. 下面是启动和停止postgresql服务的指令: 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
这里有一点就是往往我们用上面的停止命令会等待一会,然后提示无法停止服务: pg_ctl -D /usr/local/var/postgres stop -s -m fast
pg_ctl: server does not shut down
这时你可以先卸载掉之前自动加载的服务,然后再尝试停止即可: launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
在搞定了postgresql服务的启动和停止后,我们可以尝试添加postgresql用户: createuser your_username -P
#Enter password for new role:
#Enter it again:
然后我们可以用刚创建的用户建立一个数据库: createdb database_name -O username -E UTF8 -e
上面创建了一个名为database_name的数据库,数据库的所有者为username用户,数据库的编码utf7,最后一个-e参数表示把数据库执行操作的命令显示出来.更多信息你可以通过 createdb –help查看. 在MacOS中管理postgresql的数据库有2种方法,一种是console,另一种是通过gui,看个人喜好了. 我们先来看看console方式,你可以用psql之类来连接数据库: psql -U username -d database_name -h 122.0.0.1
进入之后你可以用h显示SQL的各种命令,用?来显示psql客户端自身的一些命令,比如d是显示数据库中的表,c database_name是连接到指定数据库等等. 如果你不连接postgresql的情况下,也可以看到已创建数据库的列表: psql -l
如果你从windows转行过来,那么可能跟倾向于使用gui的方式管理postgresql数据库,pgadmin同样不会让你失望,大家可以到官网下载: https://www.pgadmin.org 安装之后,我们需要创建一个到某个数据库的连接,右键点击Browser下的Servers,选择创建服务: 然后和控制台中用psql连接方法类似我们要设置数据库所在地址,名称,用户名等等内容,然后点击保存. 当多个客户端连接到同一个数据库时,我们还可以一揽全局,看到它们的状态: 我们可以进入数据库中的表中去看看表结构,以及表内容: postgresql不像sqlite3,它需要服务器才能正常工作,这就是为什么你在rails中用rake创建数据库时sqlite3可以在db目录中看到生成的数据库而postgresql下啥也看不到的原因,所有创建的postgresql数据库都放在一起,你得通过上面讲述的方法来操作哦. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ios – 如何在xcode 4.2上更改基本SDK?
- 详解Vue路由History mode模式中页面无法渲染的原
- ruby – Sinatra会话被自动销毁
- Digester解析xml文件
- Swift CAShapeLayer,UIBezierPath绘制图形
- ORACLE 11g从 11.2.0.1升级到11.2.0.4 详细实战过
- flash builder4.7 for Mac升级AIRSDK详解
- ruby-on-rails – 人们将capistrano deploy.rb和
- c – 为什么不能用std :: unordered_map替换std
- c – static_cast vs dynamic_cast