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

news2024/9/30 9:36:06

大家好,开发者们!今年大约有9万人参与了Stack Overflow的调查。令人印象深刻的是,Postgres被评为第一数据库。此外,DB Engines还将PostgreSQL列为全球增长最快的数据库之一。这对我们意味着什么呢?很明显,我们应该努力成为PostgreSQL专家。朝这个方向迈出的一个重要步骤是设置我们自己的数据库进行实践实验。所以,无论你喜欢阅读还是观看,让我们一起走过三种实用、用户友好且完全免费的方式来开始你的PostgreSQL之旅。

方法1: 使用Docker深入学习PostgreSQL

最简单和最经济的开始使用PostgreSQL的方法是使用Docker。只需一个Docker命令,就可以在笔记本电脑上轻松地运行数据库容器:

docker run --name postgresql \
    -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password \
    -p 5432:5432 \
    -d postgres:latest

优势是巨大的—设置数据库非常快速,而且你知道吗?这一切都发生在硬件上。接下来,使用SQL编辑器,比如DataGrip,打开一个数据库连接。确保连接并使用之前提到的Docker命令中的用户名和密码。

连接成功后,执行一些简单的SQL语句,以确保Postgres实例已准备好进行更高级的实验:

create table back_to_the_future(id int, name text);
insert into back_to_the_future(1, 'Doc');
select * from back_to_the_future;

方法2:使用Neon进入云原生Postgres

第二种免费且简单的学习PostgreSQL的方法适用于那些希望从一开始就深入了解公共云环境的人。Neon是一个在云中诞生和成长的与PostgreSQL兼容的数据库。更棒的是,它是无服务器的。可以毫不费力地深入其中,而且它会根据需要自动扩展工作负载。想要开始使用Neon吗?对于我们开发人员来说,命令行就是家,不是吗?首先安装Neon命令行工具:

npm i -g neonctl

然后进行身份验证并创建一个账户:

neonctl auth

创建一个新的项目和数据库实例:

neonctl projects create --name mynewproject --region-id aws-us-east-1
neonctl databases create --name newdb

最后,获取数据库连接字符串,然后就可以开始了:

neonctl connection-string --database-name newdb 

使用该连接字符串通过DataGrip连接到数据库实例:

快速验证一下,可以执行一些简单的SQL命令:

create table matrix(id int, name text);
insert into matrix values(1, 'Neo');
select * from matrix;

方法3:在可扩展的Postgres上构建YugabyteDB

我们总结一下YugabyteDB——PostgreSQL的“猛兽”。它不仅可以跨区域和区域扩展和扩展,而且还可以承受最具挑战性的云灾难。此外,它还有一个特殊的功能:将用户数据固定到特定的地理位置。YugabyteDB Managed(DBaaS)提供了免费的套餐,我们可以在云中免费体验YugabyteDB。它提供了一个专用的单节点实例,供开始使用,并且准备好时可以轻松过渡到他们的专用计划。现在,让我们来看看如何通过命令行启动一个YugabyteDB实例。首先,需要安装工具:ybm。

brew install yugabyte/tap/ybm

接下来,创建一个账户并使用您的身份验证令牌进行登录

ybm signup
ybm auth

最后的步骤涉及设置第一个数据库实例。

ybm cluster create \
    --cluster-name yugabyte \
    --credentials username=admin,password=password-123 \
    --cluster-tier Sandbox \
    --cloud-provider AWS \
    --wait

然后将笔记本电脑添加到数据库的IP允许列表中(YugabyteDB团队非常重视安全性)

ybm network-allow-list create \
   --ip-addr \$(curl ifconfig.me) \
   --name my-address
​
ybm cluster network allow-list assign \\
   --network-allow-list my-address \\
   --cluster-name yugabyte

一旦数据库启动,可以获取它的连接字符串。

ybm cluster describe --cluster-name yugabyte

使用该连接字符串在DataGrip中建立连接。

一旦建立了与YugabyteDB的连接,可以发送SQL命令与数据库进行交互。以下是一些示例SQL命令,以确保YugabyteDB已准备好提供服务:

create table avengers(id int, name text);
insert into avengers values(1, 'Hulk');
select * from avengers;

最后

随着PostgreSQL的流行度不断上升,在即将到来的项目中很可能会遇到它。那么为什么等呢?现在就开始吧。没有比实践更好的学习方式了。动起手来,使用本文中概述的三种方法之一启动一个PostgreSQL实例,享受前方的旅程吧。

作者:Denis Magda

更多技术干货请关注公众号“云原生数据库

squids.cn,目前可体验全网zui低价RDS,免费的迁移工具DBMotion、SQL开发工具等

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

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

相关文章

数学思维导图怎么画?别错过这几简单绘制方法

数学思维导图怎么画?数学思维导图可以帮助我们更好地组织和理解各种数学概念。不仅是学生和教师可以受益,数学思维导图也可以在研究和工作中发挥作用。这种工具可以帮助你清晰地表示各种数学概念和关系,并将它们可视化,以便更容易…

LeetCode.双指针(三)

例题一 一、题目 两数之和 II - 输入有序数组 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xf…

思维导图怎么制作?了解一下这几种制作方法

思维导图怎么制作?思维导图是一种非常有效的组织思考和表达想法的工具。它可以帮助人们更好地理解和记忆信息,并且可以通过可视化的方式帮助人们更好地理解复杂的关系和概念。制作思维导图有多种方法,例如手绘、使用电子表格或专业的思维导图…

《软件方法》强化自测题-分析(4)

DDD领域驱动设计批评文集 通过做强化自测题加入“软件方法建模师”群 《软件方法》各章合集 按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接或扫二维码自测,做到全对才能知道答案。 知识点见《软件方法》&…

不同企业如何选择合适的CRM系统?

市场上的CRM系统千差万别,如何选到适合的CRM系统?很多企业凭借感觉盲目选型,结果上线后发现CRM系统功能不符合需求。这就好比买衣服,不试穿就买回家,结果发现尺码不合适,还不能退换。下面说说企业如何进行C…

一起学SF框架系列7.4-spring-AOP-AOP代理创建

AOP的BeanDefinition加载后,Spring提供了自动代理机制,让容器自动根据目标bean生成AOP代理bean,本文讲述具体如何实现。 基本机制 Spring的启动过程中,在bean实例化前后、初始化前后均提供了外部介入处理机制(详见“…

三、SQLServer 数据库安装集

一、Docker 安装 Docker下安装SqlServer2019Docker 安装 SQLServer 1. 创建容器 前置准备 # 1. 创建主机映射目录 mkdir -p /root/sqlserver # 2. 修改主机映射目录权限 chown -R 10001:0 /root/sqlserver创建容器 # 1、拉取镜像。 #sudo docker pull mcr.microsoft.com/mssql/…

超越函数界限:探索JavaScript函数的无限可能

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📚 前言 📘 1. 函数的基本概念 📟 1.1 函数的定义和调用 📟 1.2 …

用加持了大模型的 Byzer-Notebook 做数据分析是什么体验

Byzer-Notebook 是专门为 SQL 而研发的一款 Web Notebook。他的第一公民是 SQL,而 Jupyter 则是是以 Python 为第一公民的。 随着 Byzer 引擎对大模型能力的支持日渐完善, Byzer-Notebook 也在不自觉中变得更加强大。我和小伙伴在聊天的过程中才发现他已…

TCP定制协议,序列化和反序列化

目录 前言 1.理解协议 2.网络版本计算器 2.1设计思路 2.2接口设计 2.3代码实现: 2.4编译测试 总结 前言 在之前的文章中,我们说TCP是面向字节流的,但是可能对于面向字节流这个概念,其实并不理解的,今天我们要介…

QT:绘图事件QPainter

绘图事件QPainter 绘图事件&#xff08;需要重写的函数&#xff09;&#xff1a;paintEvent 声明一个画家对象 QPainter painter(this) 指定绘图设备 画线&#xff0c;画圆&#xff0c;画矩形&#xff0c;画文字 可设置画笔&#xff0c;画刷#include <QPainter> ...... …

剑指 Offer 48. 最长不含重复字符的子字符串(C++实现)

剑指 Offer 48. 最长不含重复字符的子字符串https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/ dp 注意&#xff1a;缩小 不含重复字符子串 时的写法 dp_1 min(i - charToIndex[s[i]], dp_0 1); int lengthOfLongestSubstring(string s…

Autosar MCAL-S32K324 CAN-FD配置及使用

文章目录 前言配置MCAL CANCAN Controller配置CAN FD波特率配置Ram block关于MailBox 代码中使用CAN FD报文发送和接收CAN FD报文接收CAN FD报文发送 总结 前言 在之前的文章中&#xff0c;介绍了标准CAN的MCAL配置&#xff0c;在此基础上&#xff0c;扩展为CAN-FD就会容易很多…

6.RocketMQ之消费索引文件ConsumeQueue

功能&#xff1a;作为CommitLog文件的索引文件。 本文着重分析为consumequeue/topic/queueId目录下的索引文件。 1.ConsumeQueueStore public class ConsumeQueueStore {protected final ConcurrentMap<String>, ConcurrentMap<Integer>, ConsumeQueueInterface…

NetSuite OIDC、SAML SSO 演示

NetSuite的SSO的策略近些年处于演进过程&#xff0c;所以原来的Inbound SSO和Outbound SSO已经退出历史舞台。前者已经废止&#xff0c;后者在24年底废止。目前的SSO策略是&#xff1a; 第三方的身份认证服务商NetSuite as OIDC Provider 前者的含义是&#xff0c;把认证服务…

数据结构 - 基本概念和术语

基础概念之间的关系大致如下&#xff1a; 一、数据、数据元素、数据项和数据对象 数据 > 数据对象 > 数据元素 > 数据项 类比数据库&#xff0c;这四个概念代表的含义如下所示&#xff1a; 数据&#xff1a;整个数据库的所有数据数据对象&#xff1a;这个数据库的…

Shell脚本五:函数和数组

文章目录 1.函数1.1Shell函数的概念1.2函数的好处1.2函数的组成1.3函数的结构1.4查看函数列表1.5删除函数1.6函数的返回值1.6.1使用原则1.6.2示例 1.7函数的作用范围1.8函数递归1.8.1示例 2.数组2.1什么是数组2.2数组的作用2.3数组名和索引2.4定义数组的方式2.5普通数组和关联数…

深入理解分布式架构,构建高效可靠系统的关键

深入探讨分布式架构的核心概念、优势、挑战以及构建过程中的关键考虑因素。 引言什么是分布式架构&#xff1f;分布式架构的重要性 分布式系统的核心概念节点和通信数据分区与复制一致性与一致性模型负载均衡与容错性 常见的分布式架构模式客户端-服务器架构微服务架构事件驱动…

对Lua的理解

在redis和nginx中都潜入了Lua环境用于快速上手开发。但如何理解Lua以及Lua与宿主环境的交互是需要掌握的。 首先是Lua本身&#xff0c;打开5.1的lua版本开始编译后最后生成一个lua的可执行文件&#xff0c;这其实就是一个包含了Lua虚拟机的终端.。所以其实在不管redis也好nginx…

2023/8/20周报

目录 摘要 论文阅读 1、标题和现存问题 2、准备知识 3、模型结构 4、实验准备 5、实验结果 深度学习 1、构建图数据 2、GCN模型 3、当前实验结果 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇时空图卷积网络:交通预测的深度学习框架的论文。文章的时空图卷积…