postgres入门

使用PGVector实现高效数据存储与检索:LangChain Postgres入门指南 通过阅读本篇文章,您现在应该对PGVector及其在数据存储与检索中的应用有了更深入的了解。LangChain 官方文档向量存储概念指南和使用手册。 阅读详情

最近需要将mysql数据库切换到pg数据库,所以对pg进行基本学习了下,总体感觉相差不大,在一些细节以及需要上可能需要注意。

安装

我这里是以docker的方式来进行安装的。

这种安装方式只能作为作为本地开发调试用

docker run --name postgres -v /Users/silenceper/workspace/postgres/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123 -p 5432:5432 -d postgres:10.3
  • 指定数据存储目录映射到宿主机本地,避免容器销毁后数据丢失

  • 指定密码postgres用户的密码为123

  • 指定使用postgres:10.3镜像

可以选择pgAdmin4作为客户端,有图形化UI界面,或者直接使用psql命令。

基本操作

登录数据库(使用psql命令):

# 进入容器才能使用psql命令
docker exec -it postgres bash
# 以postgres角色登录
 psql -U postgres

可以通过 \?查看一些常用的操作。

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

创建用户以及DB

创建用户

CREATE USER dbuser WITH PASSWORD 'password';

创建用户数据库,这里为exampledb,并指定所有者为dbuser

CREATE DATABASE exampledb OWNER dbuser;

将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

最后,使用\q命令退出控制台(也可以直接按ctrl+D)。

\q

数据库操作

# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');

# 选择记录
SELECT * FROM user_tbl;

# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';

# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;

# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);

# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;

# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;

# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;

# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;

# 删除表格
DROP TABLE IF EXISTS backup_tbl;

与mysql对比

  • 原先在mysql中会比较建议用反引号(`)来对字段进行转义,在postgres中就不行了

MySQL 可以使用单引号(’)或者双引号(")表示值,但是 PG 只能用单引号(’)表示值,PG 的双引号(")是表示系统标识符的,比如表名或者字段名。MySQL可以使用反单引号(`)表示系统标识符,比如表名、字段名,PG 也是不支持的

  • 时间类型:postgres中时间类型带上with time zone时区

这个在用的时候挺方便的,避免时区不对。

原先一直用https://github.com/silenceper/gogen(一个自动化orm生成工具)来生成db相关的操作一开始只支持mysql,后面加入了postgres的支持就屏蔽了对底层db的选择,方便。

不过对于go开发来说,只要不是手写sql执行,而是利用一些orm工具,底层都封装了对多种数据库的支持,切换就变得更简单。

这里引出一个话题:golang开发者到底该不该用orm?

我自己觉得,有个取舍,如果需要写的sql比较复杂,关联关系又太多,虽然orm工具也提供了这种关系的对应,但是用的话还不如自己来写sql简单,而且也易读。

如果是业务系统是比较清晰的,已经被拆分的够简单,我基本上都会使用orm工具。

postgres使用入门-安装 postgres使用手册一、postgres是什么?二、软件下载及安装1.软件下载2.软件安装内网本地安装官网下载源码安装3.软件使用总结 一、postgres是什么? 因为大家都在用所以想挣钱就得知道、会、 好处 https://www.zhihu.com/question/20010554 https://blog.youkuaiyun.com/weixin_45727359/article/details/110790043 https://www.bilibili.com/video/BV1V5411G7YS 阅读详情

相关推荐

Qt QChart实战:从零打造一个实时温度监控仪表盘(附完整源码)

本文详细介绍了如何使用Qt QChart模块从零构建一个工业级实时温度监控仪表盘。通过实战案例,展示了波形图的绘制、坐标轴配置、数据流模拟等关键技术,并提供了完整的源码实现,帮助开发者快速掌握Qt在数据可视化领域的应用。

weixin_42537919的博客 243

修改postgres密码

修改postgres密码

我的博客 2150

【数字IC设计】芯片设计中的RDC

在芯片设计中,RDC是的缩写,类似于CDC(clock domain crossing),由于现在SOC芯片是有很多ECUs组成,为了使整个系统能够快速从复位中恢复, 用户希望SOC里面每个ECU模块都可以有自己独立的异步复位信号,这样可以在出问题的时候只复位有错误逻辑的模块,而使其它模块保持正常工作。

qq_40268672的博客 2185

PostgreSQL 入门教程

PostgreSQL是一个功能强大且灵活的开源关系型数据库管理系统。它具有许多优点,如可靠性、可扩展性、安全性和可定制性。本文提供了有关PostgreSQL的历史背景、概念、特点、用法、安装步骤和简单示例的详细介绍。通过深入了解PostgreSQL,您可以更好地利用它的优势来构建高性能和可靠的应用程序。当您熟悉了PostgreSQL的基本概念和用法后,还有许多更深入的特性和功能可以探索。

JAVA开发区的博客 3370

PLC的模糊PID控制

模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分,小车通过传感器采集赛道信息,PLC通过温度传感器获取炉内温度,确定当前实际温度和设定目标值的偏差e(error), e=setpoint-input以及偏差的变化ec(当前偏差-上次偏差),根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数 其次我们需要对这2个参数进行模糊化,e 、 ec 这里我对e进行举例,两个输入的标准化范围都在 [-1,1] 范围内。模糊逻辑控制器还产生范围 [-1,1] 内的归一化输出。 博

RXXW_Dor的博客 1万+

机器学习分类算法之XGBoost(集成学习算法)

目录 走进XGBoost 什么是XGBoost? XGBoost树的定义 XGBoost核心算法 正则项:树的复杂程度 XGBoost与GBDT有什么不同 XGBoost需要注意的点 XGBoost重要参数详解 调参步骤及思想 XGBoost代码案例 相关性分析 n_estimators(学习曲线) max_depth(学习曲线) 调整max_depth 和min_child_weight 调整gamma 调整subsample 和colsample_bytree 调整正则

迷茫与徘徊只会让你陷入绝境,欢迎私信博主,带你开始提升变现价值! 11万+

PostgreSQL 快速入门与实战

# 创建模式## 删除模式## 删除模式并且删除该模式下的数据对象。

代码洁癖症患者 4万+

Python 爬虫实战:华尔街见闻精选文章爬取(反反爬 + 投资情绪分析)

Python 爬虫实战:华尔街见闻精选文章爬取(反反爬 + 投资情绪分析)

yansideyucsdn的博客 970

【3万字总结】postgresql基础入门

目录 👩‍💻博客主页:大家好我是poizxc2014的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 📖个人主页:poizxc2014的博客_优快云博客-数据库,mysql,java领域博主 💻首发时间:🎞2022年05月01日🎠 🎨你做三四月的事,八九月就会有答案,一起加油吧 🔥💖🔮😘🔏🀄🎧如果觉得博主的文章还不错的话,👍请三连支持一下博主哦🤞 如果觉得博主的文章还不错的话,请三连支持一下博主哦 最后的话,在很多方面还做的不好的地方,欢迎大佬指正,一起学习哦,冲冲冲 🏈1、post.

⛄沉淀分享成长--长久的沉淀势必会收获到你想要的,那些旅途上的果实 7687

基于Simulink的PR(比例谐振)控制器在单相整流中的应用

本文详细介绍了基于Simulink的单相整流系统中PR(比例谐振)控制器的设计与实现方法。首先阐述了PR控制器相较于传统PI控制器的优势,能够有效消除交流信号跟踪中的稳态误差。接着系统讲解了PR控制器的传递函数原理、实用型设计(带带宽)及参数整定方法。通过Simulink建模步骤,包括主功率电路搭建、电压外环PI设计、电流指令生成、PR控制器实现(推荐MATLAB Function方法)和SPWM调制等关键环节。仿真对比显示PR控制在电流跟踪精度(THD仅1.9%)、功率因数(0.998)和动态响应(突变恢

amy_mhd的博客 689

ESP32-C3模组上跑通OTA升级(3)

ESP32-C3模组上跑通OTA升级(3)

phmatthaus的专栏 1351

PostgreSQL入门指南

子查询和视图是 PostgreSQL 中强大的查询和数据处理工具。子查询允许我们在一个查询内部嵌套另一个查询,提供更灵活的查询条件和动态生成数据的能力。视图是基于查询结果构建的虚拟表,提供了一种简洁和安全的方式访问和处理数据。通过合理地运用子查询和视图,我们可以提高查询的效率和可读性,简化复杂查询的编写,并增强数据的安全性。在本次讲解中,我们涵盖了 PostgreSQL 中 JSON 和数组的使用。你学习了如何创建 JSON 类型的列、插入和查询 JSON 数据,以及如何更新 JSON 对象。

huang714的专栏 2767

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Sequin快速入门指南:5分钟掌握Postgres变更数据捕获

Sequin是一款强大的Postgres变更数据捕获(CDC)工具,能够将数据库变更实时同步到Kafka、SQS、Elasticsearch等流处理平台和搜索索引中。本文将带你快速上手Sequin,在5分钟内完成从安装到数据同步的全流程。 ## 什么是Postgres变更数据捕获? 变更数据捕获(CDC)是一种数据库技术,用于捕获数据库中的数据变更(插入、更新、删除)并将这些变更以事件流的形式

gitblog_07834的博客 440

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Postgres 快速入门(一)

Postgres 快速入门 简介 postgres 是一款开源,免费的对象-关系数据库。 登陆 psql -U 用户名 -d 数据库名 -h 127.0.0.1 -p 5432 参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。 如果 postgres 中存在和当前系统用户同名的用户,可以不用输入-U 用户名,直接 psql 数据库名 如果要访问的数据库名和用户名一致,那么可以不用输入任何参数直接登陆: psql 命令行操作 \l or \list:列出当前的所有数据库

达文西的博客 3205

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Postgres新手入门

概览 在工作中接触到了Postgres对这个和mysql齐名的数据库很好奇,所以把它与mysql的异同整理出来,希望能对一些和我一样从未接触过Postgres的人,有些许帮助 第一次整理文章,做分享,如有错误,欢迎指正 postgres 可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项...

weixin_33973600的博客 225

awesome-postgres书籍推荐:从入门到精通的10本必读书籍

PostgreSQL作为业界领先的开源关系型数据库,以其强大的功能、稳定性和扩展性赢得了全球开发者的青睐。无论你是数据库新手还是资深专家,选择合适的PostgreSQL书籍都是快速掌握技能的关键。本指南精选了10本从基础到高级的必读PostgreSQL书籍,帮助你构建完整的知识体系。👍 ## 📚 PostgreSQL入门基础书籍推荐 **《PostgreSQL Primer for Bus

gitblog_00660的博客 654

postgres数据库入门, python 操作postgres

安装需要的包 pip install psycopg2 主要的api接口 1 psycopg2.connect(database="testdb", user="postgres", password="cohondob&a

2803

postgresql设置postgres密码_postgresql 入门笔记

个人准测:绝不粘贴命令到终端(防止粘贴板中有删除数据库等有严重影响的指令,数据库中粘贴后是立即执行的,所以paste的时候你不知道你粘贴板上有什么鬼东西绝不执行自己不了解的脚本(有的脚本可能带有 rm -rf或者删除数据库的脚本,当使用这些脚本的时候必须要看看都是写了什么,比如用到一个脚本向表中随机插入指定数量的数据绝不在终端直接rm某个文件(能用move to trash的就用move to t...

weixin_39595537的博客 1695

ElectricSQL:革命性的Postgres实时同步引擎入门指南

ElectricSQL:革命性的Postgres实时同步引擎入门指南 【免费下载链接】electric electric-sql/electric: 这是一个用于查询数据库的JavaScript库,支持多种数据库。适合用于需要使用JavaScript查询数据库的场景。特点:易于使用,支持多种数据库,具有灵活的查询构建和结...

gitblog_00411的博客 446

postgres 入门

为什么80%的码农都做不了架构师?>>> ...

weixin_34319640的博客 118

node-postgres_如何使用NestJS,Postgres和Sequelize构建Web API-入门指南

node-postgresNestJS is an MVC framework for building efficient, scalable Node.js server-side applications. NestJS是一个MVC框架,用于构建高效,可扩展的Node.js服务器端应用程序。 It is built with and fully supports TypeScript (...

cumian9828的博客 1390

如何在Rust中快速连接PostgreSQL:Rust-Postgres入门教程

Rust-Postgres是Rust编程语言的原生PostgreSQL驱动,提供了高效、安全的数据库连接解决方案。本教程将帮助你快速上手,在Rust项目中轻松集成PostgreSQL数据库连接功能。 ## 📦 安装与依赖配置 要开始使用Rust-Postgres,首先需要在你的Cargo项目中添加相关依赖。推荐使用`tokio-postgres` crate,它提供了异步支持,是大多数Rus

gitblog_02973的博客 852

Nifi入门实战:CSV写入Postgres

Nifi入门实战 一、docker 安装方式 docker pull apache/nifi:1.14.0 # 注意: 日志文件的数据卷可以创建但是nifi在docker运行时候使用的是nifi:nifi账户,其数据卷创建后默认的Owner是root账户,会造成nifi没有写日志文件的问题。 # 数据卷 本机路径:容器路径 # -v $PWD/logs:/opt/nifi/nifi-current/logs \ # 可以使用手动到容器内部 `docker exec -it nifi /bin

lisacumt的专栏 2442

Postgres入门:三种免费且简单的方法

它提供了一个专用的单节点实例,供开始使用,并且准备好时可以轻松过渡到他们的专用计划。所以,无论你喜欢阅读还是观看,让我们一起走过三种实用、用户友好且完全免费的方式来开始你的PostgreSQL之旅。更棒的是,它是无服务器的。动起手来,使用本文中概述的三种方法之一启动一个PostgreSQL实例,享受前方的旅程吧。接下来,使用SQL编辑器,比如DataGrip,打开一个数据库连接。一旦建立了与YugabyteDB的连接,可以发送SQL命令与数据库进行交互。一旦数据库启动,可以获取它的连接字符串。

770
上一篇: 记一次问题排查:为什么在POD无法通过Service访问自己?
下一篇: 用vim保存文件和echo命令到底有什么不同?
学点程序
博客等级 码龄12年 65粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值