前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在macOS上安装&配置PostgreSQL

在macOS上安装&配置PostgreSQL

作者头像
KenTalk
发布2023-04-07 15:44:52
7.5K0
发布2023-04-07 15:44:52
举报
文章被收录于专栏:Ken的杂谈Ken的杂谈

一、前言

1、本文主要内容

  • PostgreSQL 安装(Homebrew&dmg安装包)
  • PostgreSQL 基础配置与常用命令
  • PostgreSQL 远程访问配置
  • PostgreSQL 基础管理

2、本文环境信息

工具

本文环境

适用环境

macOS

macOS (Ventura) 13.2

macOS 10.14+

PostgreSQL

PostgreSQL 15

PostgreSQL 12+

3、前置依赖

安装Oh My Zsh

代码语言:javascript
复制
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

二、PostgreSQL安装

1、安装方式说明

Homebrew以及dmg安装包安装都可以,不过Homebrew跟dmg包图形化安装还是有些区别,根据自己习惯任选其一即可,不过为了方便理解后续的操作,还是简单介绍下两种安装方式的区别

PostgreSQL

Homebrew安装

dmg安装包安装

安装目录

/opt/homebrew/Cellar/postgresql@15

/Library/PostgreSQL/15

数据目录

默认为:/opt/homebrew/var/postgresql@15

默认为:/Library/PostgreSQL/15/data

用户要求

需要创建postgres用户

默认用户

与执行安装的用户同名

postgres

psql工具/命令行

需要使用-d参数指定数据库进入

需要使用-U参数指定用户进入,且需要输入密码

不同Homebrew版本产生的安装以及数据目录可能会有差异~

2、Homebrew安装

2.1、安装Homebrew

代码语言:javascript
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2.2、查找PostgreSQL安装包

代码语言:javascript
复制
# 查找postgresql可用版本
brew search postgresql

# 输出示例
==> Formulae
postgresql@10             postgresql@12             postgresql@14             postgresql@9.4            qt-postgresql
postgresql@11             postgresql@13             postgresql@15             postgresql@9.5            postgrest

2.3、安装PostgreSQL

代码语言:javascript
复制
# 安装指定版本(推荐)
brew install postgresql@15

# 安装默认版本
brew install postgresql

2.4、配置并启动PostgreSQL服务

代码语言:javascript
复制
brew services start postgresql@15

2.5、添加环境变量

代码语言:javascript
复制
echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

3、dmg安装包安装

3.1、创建用户 使用dmg安装包安装时,如果没有postgres账户,可能会出现安装失败的情况 使用dscl命令创建

代码语言:javascript
复制
# 创建用户并指定Shell
sudo dscl . -create /Users/postgres UserShell /bin/bash

# 设置用户ID(需要唯一)、显示名称
sudo dscl . -create /Users/postgres UniqueID "5001"
sudo dscl . -create /Users/postgres RealName "postgres"

# 将用户设置为管理员
sudo dscl . -create /Users/postgres PrimaryGroupID 80

# 修改密码
sudo dscl . -passwd /Users/postgres 1024

如果你习惯使用图形化界面操作,可以通过菜单:系统设置->用户与群租->添加账户,添加postgres账户

image.png
image.png

3.2、下载PostgreSQL 访问 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 下载对应的版本即可

image.png
image.png

3.3、开始安装

image.png
image.png

3.4、选择安装位置及内容

image.png
image.png
image.png
image.png

如果有通用的数据管理工具,这里pgAdmin根据自己情况选择即可 后续根据安装引导,选择数据目录、设置密码、设置端口等等即可

image.png
image.png
image.png
image.png
image.png
image.png

3.5、添加环境变量

代码语言:javascript
复制
echo 'export PATH="/Library/PostgreSQL/15/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

三、PostgreSQL基础使用

PostgreSQL提供了在命令行下运行的数据库连接工具psql,我们可以通过psql命令行执行内部命令管理数据库,也可以执行SQL,做用户管理增删改查等操作

代码语言:javascript
复制
# 指定用户连接PostgreSQL
psql -U postgres

# 指定数据库连接PostgreSQL
psql -d postgres

# 参数参考
psql -h 127.0.0.1 -p 5432 -U ken -d postgres

1、常用psql命令

代码语言:javascript
复制
# 查看所有用户
\du

# 查看所有数据库
\l

# 切换当前数据库
\c {dbname}

# 查看当前库下所有的表
\dt

# 查看指定表
\d {tablename}

# 查看数据目录
SHOW data_directory;

# 退出psql
\q

2、常用SQL命令

代码语言:javascript
复制
# 创建数据库
CREATE DATABASE test;

# 创建表(记得使用\c命令切换数据库)
CREATE TABLE t1(id int,body varchar(100));

# 创建用户
CREATE USER test WITH PASSWORD 'Test#1357';

# 修改密码
ALTER USER test WITH PASSWORD 'Test#2468';

# 指定用户添加指定角色
ALTER USER test createdb;

# 赋予指定账户指定数据库所有权限
GRANT ALL PRIVILEGES ON DATABASE test TO test;

# 移除指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE test TO test;

四、PostgreSQL远程访问

1、账户与数据目录

PostgreSQL程序文件以及数据文件默认属于postgres账户/brew安装时的账户,使用其他账户无操作权限,需要切换到对应账户,才能执行修改配置的相关操作

代码语言:javascript
复制
# 切换账户(图形化界面安装需要此步骤)
su postgres

# 进入PostgreSQL数据目录(brew)
cd /opt/homebrew/var/postgresql@15/

# 进入PostgreSQL数据目录(dmg)
cd /Library/PostgreSQL/15/data/

2、修改监听地址

PostgreSQL默认监听的localhost,可以通过修改postgresql.conf,放开监听限制

代码语言:javascript
复制
# 修改postgresql.conf
vi postgresql.conf 

# 修改监听地址
listen_addresses= '*'

# 查看配置情况
cat postgresql.conf | grep "listen_addresses"

2、放开客户端限制

修改pg_hba.conf,开放给所有客户端访问

代码语言:javascript
复制
# 修改pg_hba.conf  
vi pg_hba.conf  

# 追加配置(md5指的加密方式,也可以选择scram-sha-256等)
host  all  all 0.0.0.0/0 md5

# 查看配置情况
cat  pg_hba.conf | grep "host"

3、重启PostgreSQL服务

代码语言:javascript
复制
# 重启服务(brew安装)
brew services restart postgresql@15

# 重启服务(dmg安装,通过-D指定数据目录)
pg_ctl restart -D /Library/PostgreSQL/15/data

五、备注

1、相关阅读

https://wiki.postgresql.org/wiki/Homebrew https://tomcam.github.io/postgres/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • 1、本文主要内容
      • 2、本文环境信息
        • 3、前置依赖
        • 二、PostgreSQL安装
          • 1、安装方式说明
            • 2、Homebrew安装
              • 3、dmg安装包安装
              • 三、PostgreSQL基础使用
                • 1、常用psql命令
                  • 2、常用SQL命令
                  • 四、PostgreSQL远程访问
                    • 1、账户与数据目录
                      • 2、修改监听地址
                        • 2、放开客户端限制
                          • 3、重启PostgreSQL服务
                          • 五、备注
                            • 1、相关阅读
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档