关系型数据库PostgreSQL for Mac 保姆级使用教程

第一部分:安装PostgreSQL

方法一:使用Postgres.app(最简单)

  1. 访问 Postgres.app官网

  2. 下载最新版本,将 Postgres.app 移动到 “Applications” 文件夹。

  3. 双击Postgres.app打开应用,点击"Initialize"初始化数据库

  4. 在菜单栏点击"Postgres"图标可以看到运行状态

方法二:使用Homebrew安装

  1. 打开终端(应用程序 > 实用工具 > 终端)

  2. 安装Homebrew(如果尚未安装):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    安装PostgreSQL,运行命令:

    brew install postgresql

    启动PostgreSQL服务:

    brew services start postgresql

    验证安装,运行命令:

    psql --version

    若显示版本号,则安装成功。

第二部分:基本使用

配置 PostgreSQL4

修改配置文件:主配置文件为postgresql.conf,客户端认证文件为pg_hba.conf。若要允许远程访问,修改postgresql.conf中的listen_addresses = '*',并设置port = 5432(默认端口)。若要设置最大连接数,可修改max_connections = 100(可根据硬件调整)。修改pg_hba.conf,添加host all all 0.0.0.0/0 scram - sha - 256,允许所有 IP 通过密码访问。修改后,使用pg_ctl restart -D /usr/local/var/postgres命令重启服务生效。

      连接到数据库

      创建用户与数据库

      • 登录默认账户:使用登录命令
        sudo -u postgres psql
      • 创建新用户:在psql中,执行创建新用户。
        CREATE USER myuser WITH PASSWORD 'user123';
      • 创建数据库
        CREATE DATABASE mydb OWNER myuser;
      • 用户授权
        GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

      使用 psql 命令行工具

      • 登录数据库:使用命令登录数据库
        psql -U myuser -d mydb -h 127.0.0.1 -p 5432
        -U指定用户名,
        -d指定数据库名,
        -h指定主机地址,
        -p指定端口号

      • 常用元命令
        \l:列出所有数据库。
        \c dbname:切换数据库。
        \dt:列出当前数据库的所有表。
        \d+ tablename:查看表结构详情。
        \q:退出psql。

      数据库与表操作

        1. 查看所有数据库:

          \l
        2. 创建新数据库:

          CREATE DATABASE mydb;
        3. 连接到特定数据库:

          \c mydb
        4. 创建表:

          CREATE TABLE employees (id SERIAL PRIMARY KEY,name VARCHAR(50) NOT NULL,salary NUMERIC(10,2),hire_date DATE
          );
        5. 插入数据:

          INSERT INTO employees (name, salary, hire_date) VALUES ('John Doe', 5000.00, '2025-01-01');
        6. 查询数据:

          SELECT * FROM employees;
        7. 更新数据

          UPDATE employees SET salary = 5500.00 WHERE name = 'John Doe';
        8. 删除数据

          DELETE FROM employees WHERE name = 'John Doe';

        第三部分:图形化管理工具(可选)

        安装pgAdmin(图形化界面)

                pgAdmin 4:它是一个功能丰富的开源 PostgreSQL 客户端。可从官网下载安装。安装完成后,打开 pgAdmin 4,添加服务器,输入服务器名称、主机地址、端口号、用户名和密码等信息,即可连接到 PostgreSQL 数据库进行管理。

        1. 访问 pgAdmin官网

        2. 下载macOS版本并安装。

        3. 打开pgAdmin,设置主密码

        4. 添加服务器:

          • 名称:Local

          • 主机:localhost

          • 端口:5432

          • 用户名:你的mac用户名(Postgres.app)或postgres(Homebrew安装)

          • 密码:通常为空或你的mac用户密码 

        如果你想解锁更多pgAdmin使用,可以参阅:pgAdmin4工具快速使用_pgadmin使用教程-CSDN博客

        第四部分:常见问题解决

        1. 连接被拒绝

          • 确保PostgreSQL服务正在运行

          • 检查连接参数是否正确

        2. 命令未找到

          • 确保PostgreSQL的bin目录在PATH中

          • 对于Homebrew安装,可以运行:

            echo 'export PATH="/usr/local/opt/postgresql@12/bin:$PATH"' >> ~/.zshrc
            source ~/.zshrc

            (将@12替换为你安装的版本)

        3. 忘记密码

          • 对于Postgres.app,通常不需要密码

          • 对于Homebrew安装,默认用户是"postgres",密码通常为空

        第五部分:日常使用小技巧

        1. 查看所有表:

          \dt
        2. 查看表结构:

          \d 表名
        3. 退出psql:

          \q
        4. 导入SQL文件:

          psql -d 数据库名 -f 文件路径.sql
        5. 导出数据库:

          pg_dump 数据库名 > 备份文件.sql

                希望这个教程能帮助你开始使用PostgreSQL!如果有任何问题,可以随时查阅PostgreSQL官方文档或在开发者社区提问。

        如果您想了解关系型数据库PostgreSQL vs MySQL区别 ,可以参阅文章:关系型数据库PostgreSQL vs MySQL 深度对比:专业术语+白话解析+实战案例-CSDN博客

        本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78642.shtml

        如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

        相关文章

        Redis超详细入门教程(基础篇)

        一:Redis 简介 (1)Mysql: 将数据通过数据文件存在磁盘上 通过二维表存储数据 (2)Redis 定义: 优点: 热点数据:短时间内有大量用户访问 二:Redis下载与安装 Windows系统安…

        【JS-Leetcode】2621睡眠函数|2629复合函数|2665计数器||

        文章目录 2621睡眠函数2629复合函数2665计数器|| 这三个题目涉及setTimeout、promise、数组reduce方法,闭包。 2621睡眠函数 请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠 millis 毫秒。要求此函数可以解析任何值。 原理&am…

        重塑编程体验边界:明基RD280U显示器深度体验

        重塑编程体验边界:明基RD280U显示器深度体验 写在前面 本文将以明基RD280U为核心,通过技术解析、实战体验与创新案例,揭示专业显示器如何重构开发者的数字工作台。 前言:当像素成为生产力的催化剂 在GitHub的年度开发者调查中&…

        如何通过挖掘需求、SEO优化及流量变现成功出海?探索互联网产品的盈利之道

        挖掘需求,优化流量,实现变现:互联网出海产品的成功之路 在当今全球化的数字时代,越来越多的企业和个人选择将业务扩展到国际市场。这一趋势不仅为企业带来了新的增长机会,也为个人提供了通过互联网产品实现盈利的途径…

        cuda学习2:cuda编程基本概念

        CUDA基本概念 主机(host) 通常将起控制作用的CPU称为主机(host) 设备(device) 将起加速作用的 GPU 称为设备(device) 流处理器(streaming processor) 物…

        AVL树的介绍与学习

        目录 1.前言 2.AVL树 3.AVL树的插入 平衡因子的更新 更新停止的条件 旋转 1.前言 在学习了二叉搜索树,set和map之后,我们接下来趁热打铁,继续学习AVL树。 2.AVL树 1.AVL树具有二叉搜索树的性质,但是它的左右子树的高度差不…

        数字人接大模型第二步:实时语音同步

        接上例第一步,还是dh_live项目,增加了一个完整的实时对话样例,包含vad-asr-llm-tts-数字人全流程,以弥补之前的只有固定的问答的不足。 VAD(Voice Activity Detection,语音活动检测)VAD用于检测用户是否正在说话,从而触发后续的语音处理流程。 ASR(Automatic Speech R…

        01_Long比较值 类型相同值不同

        问题描述: 看如下代码: Long a 128L; Long b 128L;System.out.println(a b);运行结果如下: 明明 a 和 b 的值一样,但是结果却为 False,为什么同样的类型,同样的值,却不相等,这是…

        EKS环境下服务重启50X错误

        EKS中,当使用AWS Load Balancer Controller时,ALB有两种模式,Internet-facing和Internet,当使用Internet模式时,ALB注册的是NodeIP;使用Internet-facing模式时,ALB注册的则是Pod IP。从模式上来…

        Android项目升级插件到kotlin 2.1.0后混淆网络请求异常

        背景 项目kt插件1.9.24升级到2.1.0后打包编译release网络请求失败了。 retrofit版本2.9.0 错误详情 java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedTypeat retrofit2.m.a(Unknown Source:2477)at retrofit2.K.invoke(U…

        Vue中Axios实战指南:高效网络请求的艺术

        Axios作为Vue生态中最流行的HTTP客户端,以其简洁的API和强大的功能成为前后端交互的首选方案。本文将带你深入掌握Axios在Vue项目中的核心用法和高级技巧。 一、基础配置 1. 安装与引入 npm install axios 2. 全局挂载(main.js) import …

        Flink维表深度解析

        一、维表的概念与作用 维表(Dimension Table) 是数据仓库中的核心概念,通常用于存储静态或缓慢变化的业务实体信息(如用户资料、商品信息、地理位置等)。在实时流处理场景中,维表的作用是为主数据流&#…

        SKLearn - Biclustering

        文章目录 Biclustering (双聚类)谱二分聚类算法演示生成样本数据拟合 SpectralBiclustering绘制结果 Spectral Co-Clustering 算法演示使用光谱协同聚类算法进行文档的二分聚类 Biclustering (双聚类) 关于双聚类技术的示例。 谱…

        PostSwigger Web 安全学习:CSRF漏洞2

        CSRF 漏洞学习网站:What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy CSRF 漏洞:SameSite相关绕过 当浏览器访问服务器时,服务器会在 Cookie 中添加 SameSite 属性来告诉浏览器是否在来自其他…

        从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 数字特征

        从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 数字特征 第一部分:概率与统计基础 第2节:数字特征:期望值、方差、协方差与相关系数 一、期望值(Expected Value)&#xff1a…

        MySQL(聚合函数)

        单行函数 对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。 每一个函数中都有一些常用的函数(方法) 在学…

        babel核心知识点

        Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015 版本的代码转换为向后兼容的 JavaScript 代码,以便在旧版本的浏览器或环境中运行。以下是 Babel 的核心知识点: 1. 基本概念 编译器:Babel 本质上是一个编译器&…

        javaScript--数据结构和算法

        在 JavaScript 里,数据结构和算法是十分关键的部分,下面介绍几种常见的数据结构和对应的算法。 数组(Array) 数组是最基础的数据结构,用于存储一系列有序的数据。 // 创建数组 const arr [1, 2, 3, 4, 5];// 访问元素…

        π0.5:带开放世界泛化的视觉-语言-动作模型

        25年4月来自具身机器人创业公司 PI 公司的论文“π0.5: a Vision-Language-Action Model with Open-World Generalization”。 为了使机器人发挥作用,它们必须在实验室之外的现实世界中执行实际相关的任务。虽然视觉-语言-动作 (VLA) 模型在端到端机器人控制方面已…

        使用 OpenCV 和 dlib 进行人脸检测

        文章目录 1. 什么是 dlib2. 前期准备介绍2.1 环境准备2.2 dlib 的人脸检测器 3. 代码实现3.1 导入库3.2 加载检测器3.3 读取并调整图像大小3.4 检测人脸3.5 绘制检测框3.6 显示结果 4. 完整代码5. 优化与改进5.1 提高检测率5.2 处理 BGR 与 RGB 问题 6. 总结 人脸检测是计算机视…