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同样不会让你失望,大家可以到官网下载:
安装之后,我们需要创建一个到某个数据库的连接,右键点击Browser下的Servers,选择创建服务:
然后和控制台中用psql连接方法类似我们要设置数据库所在地址,名称,用户名等等内容,然后点击保存.
当多个客户端连接到同一个数据库时,我们还可以一揽全局,看到它们的状态:
我们可以进入数据库中的表中去看看表结构,以及表内容:
postgresql不像sqlite3,它需要服务器才能正常工作,这就是为什么你在rails中用rake创建数据库时sqlite3可以在db目录中看到生成的数据库而postgresql下啥也看不到的原因,所有创建的postgresql数据库都放在一起,你得通过上面讲述的方法来操作哦.
MacOS下对postgresql的简单管理操作的更多相关文章
- macOS下appstore提示未能完成该操作的解决办法
macOS下App Store下载软件,提示:未能完成该操作.(com.apple.commerce.client 错误 500.) 解决办法: 在终端输入 defaults write com.ap ...
- Linux下MySql的登陆和管理操作
一.mysql数据库启停1.linux下启动mysql的命令: mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启 ...
- linux下vi的一些简单的操作
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握 ...
- macOS 下使用命令行进行用户(组)管理,就是这么简单! dscl 你很有必要了解一下!!
大家好,我是@小猿来也... Command-line interface to Directory Services. 在 linux 系统中我们习惯了使用 useradd,userdel,user ...
- [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲 ...
- Service系统服务(一):安装一个KVM服务器、KVM平台构建及简单管理、virsh基本管理操作、xml配置文件的应用、为虚拟机制作快照备份、快建新虚拟机
一.安装一个KVM服务器 目标: 本例要求准备一台 RHEL7.2 服务器,将其搭建为KVM平台,主要完成下列操作: 1> 关闭本机的SELinux保护.防火墙服务 2> 挂载RHEL ...
- MacOS下ElasticSearch学习(第一天)
ElasticSearch第一天 学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"elasticsearch&q ...
- 细说Linux下软件包的安装与管理
一 源码安装方式 由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
- Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew
对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...
随机推荐
- jquery的ajax全局事件详解
jquery在ajax方面是非常强大和方便的,以下是jquery进行ajax请求时方法模板: $.ajax({ type: "get", url: "" ...
- jacascript 判断元素尺寸和位置
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! getBoundingClientRect() 判断一个元素的尺寸和位置是简单的方法就是使用 obj.ge ...
- postgresql 定时任务备份及恢复
编写 脚本文件 如bak.sh,内容如下: ls_date=`date "+%Y%m%d%H%M%S"` pg_dump -U postgres -Ft yourdbname &g ...
- Mysql之视图的操作
视图的操作: 1.视图的创建: create view view_name as 查询语句; 2.视图的查看: show tables;// 显示所有的表和视图 show create view vi ...
- [NOI 2010]航空管制
Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上 ...
- 【HDU 2966 k-dimensional Tree 入个门】
·“k-d树是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的范围搜索和最近邻搜索……”’' ·英文题,述大意: 给出平面内n个点(n<=100000,0<=x, ...
- [BZOJ]1042 硬币购物(HAOI2008)
失踪OJ回归. 小C通过这道题mark一下容斥一类的问题. Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买s ...
- [51nod1238]最小公倍数之和V3
来自FallDream的博客,未经允许,请勿转载,谢谢. ----------------------------------------------------------------------- ...
- JSP 基本语法
1 JSP 的由来 servlet产生后,存在很大的问题,为了表现页面的效果,需要输出大量的HTML 语句,表现为一个个字符串,不仅利于开发,也不利于后期的维护,由此产生了JSP.主要用于将Servl ...
- Python3 中 random模块
Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 im ...