您的位置:首页 > 数据库

MacOS下对postgresql的简单管理操作

2017-01-12 13:17 190 查看
如何安装在另一篇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数据库都放在一起,你得通过上面讲述的方法来操作哦.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息