macOS使用homebrew安装PostgreSQL

最近有项目用到PostgreSQL,本地macOS开发环境需要用来开发测试,算是新接触,部分情况跟以往熟悉的MySQL不太相同,特地将部分部分需要用到的命令做个记录。
搜索及安装

如标题所示,系统是macOS,没有选择官网下载安装包而是利用Homebrew进行安装,Homebrew本身的设置及安装不谈,只说PostgreSQL相关。
PostgreSQL版本查看:
zoco@192:~➤ brew search postgresql==> Formulaepostgresql       postgresql@11    postgresql@13    postgresql@9.5   qt-postgresqlpostgresql@10    postgresql@12    postgresql@9.4   postgresql@9.6   postgrest==> Casksnavicat-for-postgresql可以看出,目前(2022年10月)Homebrew是支持从9.4开始到最新的14版本,我是选择最新的14版本,如果有版本需求的,安装的时候可以带上版本号进行安装,命令如下:
brew install postgresql# 或者直接带上版本号安装brew install postgresql@14PostgreSQL初始化操作

macOS系统上Homebrew安装PostgreSQL默认会进行初始化操作,如果是别的系统或者更新之后:
initdb --locale=C -E UTF-8 /usr/local/var/postgres如果测试环境出错导致服务无法启动,可以通过如下命令重新初始化PostgreSQL,操作之前记得先备份对应的文件夹:
cp -a /usr/local/var/postgres /usr/local/var/postgres-bakrm -rf /usr/local/var/postgresinitdb --locale=C -E UTF-8 /usr/local/var/postgres启动及停止

之所以采用Homebrew安装PostgreSQL而不是使用官网安装包下载安装,原因之一就是可以借助Homebrew进行PostgreSQL的进程控制,相关命令:
brew service start postgresql@14brew service restart postgresql@14brew service stop postgresql@14上述三行命令分别是启动、重启及停止PostgreSQL服务,最后尾的14是版本号,需要跟上述安装的版本号一致。
登录PostgreSQL

和MySQL不同,初始安装PostgreSQL之后,默认是使用postgre用户登录,且不需要密码,直接就能登录,命令如下:
psql postgres如果需要创建具有管理权限的新角色,可以使用如下命令:
CREATE ROLE cloudbool WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'cloudbool_password';使用新创建的账户及密码登录:
psql -U pg_user -W# 输入密码如果需要指定远程主机及端口,命令如下:
psql -h 127.0.0.1 -p 5432  -U cloudbool -W# 输入密码PostgreSQL常用Shell操作命令

和MySQL稍许不同,如果在Shell里面查看数据库、表及用户等信息,不是简单的select操作,PostgreSQL提供部分别的命令。
列出数据库中所有用户:
\du列出所有数据库:
\l连接到数据库:
\c database_name列出数据库中的所有表:
\dPostgreSQL schema操作

跟MySQL相比,PostgreSQL多了一个schema,一般情况下,创建数据库的时候会自动创建一个名为public的schema,手动创建schema命令如下:
CREATE SCHEMA test_schema;创建表的过程中,如果没有指定schema,默认会将表归属到public schema,如果需要将表创建到指定schema,则命令如下:
CREATE TABLE test_schema.test_table ();也即schema名称跟上表的名称。
PostgreSQL导入与导出

PostgreSQL的dump:
pg_dump -U cloudbool_user -W cloudbool_db > cloudbool_dump.sql使用dump出的文件恢复数据库信息:
psql -U cloudbool_user -W cloudbool_db -f cloudbool_dump.sql其中上述命令的cloudbool_user是用户名,cloudbool_db是对应的数据库,后续cloudbool_dump.sql是dump出的sql文件。
免责声明:
1. 本站出于学习和研究的目的提供平台共会员进行交流和讨论,网站资源由会员从网上收集整理所得,版权属于原作者。
2. 网站所有资源是进行学习和研究测试之用,不得以任何方式用于商业用途。请在下载后24小时删除。
3.灵感中国社区非常重视知识产权,如有侵犯任何第三方权益,请发邮件(linggancg@foxmail.com)及时联系,邮件请附(专利证书、商标注册证、著作权证书,以及知识产权人授权投诉方进行投诉的证明文件等有效证明),我们将第一时间核实并删除侵权帖子(3个工作日内处理完并邮件答复)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

欢迎您来到LSH网络科技,您将会在这里快速找到您需要的,安全的,便宜的,最新的,有保障的资源和内容!

网站地址:贵州省黔东南州施秉县 邮箱地址:1442027646@qq.com