首页 > 其他分享 >Postgres入门:三种免费且简单的方法

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

时间:2023-08-21 10:36:39浏览次数:37  
标签:PostgreSQL Postgres -- YugabyteDB 数据库 入门 三种 ybm name

大家好,开发者们!今年大约有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命令中的用户名和密码。

Postgres入门:三种免费且简单的方法_数据库

连接成功后,执行一些简单的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连接到数据库实例:

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

快速验证一下,可以执行一些简单的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中建立连接。

Postgres入门:三种免费且简单的方法_数据库_03

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

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

最后

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

作者:Denis Magda

更更多技术干货请关注wx“云原生数据库”

标签:PostgreSQL,Postgres,--,YugabyteDB,数据库,入门,三种,ybm,name
From: https://blog.51cto.com/u_15739379/7171269

相关文章

  • MATLAB入门小操作(数据类型)
    这是一篇有助于快速上手MATLAB软件的文章(新手向)。(学习过其他的语言更容易看懂)数据类型这篇文章我想从MATLAB中的数据类型出发去列举一些经常使用的操作。MATLAB中的数据类型包括其他语言中常见的如:数字字符与字符串结构体还有一些特有的数据类型如:矩阵元胞数组下文将......
  • 2.1 入门实践-一张普通报表
    一、普通报表1.概述1.1报表设计流程图1.2报表设计案例目标这张报表由三部分构成:参数面板:通过下拉框控件选择地区,查询出对应地区的数据。表格:表格统计该地区下各销售员每个产品的销量。柱形图:柱形图将表格中的数据以图表的形式进行展示。2.制作步骤2.1新建......
  • CGAL入门——凸壳算法
    一、凸壳算法凸壳是能包含点集合的最小凸多边形,即凸壳是点集合的一个子集,将这个子集的点连接起来可以包含点集中所有的点。 二、数组中点的凸壳#include<iostream>#include<CGAL/Exact_predicates_inexact_constructions_kernel.h>#include<CGAL/convex_hull_2.h>......
  • @ControllerAdvice 的介绍及三种用法
    感谢:参考文章:https://blog.csdn.net/qq_36829919/article/details/101210250@ControllerAdvice的介绍及三种用法浅析@ControllerAdvice首先,ControllerAdvice本质上是一个Component,因此也会被当成组建扫描,一视同仁,扫扫扫。然后,我们来看一下此类的注释:这个类是为那些声......
  • 【人工智能】机器学习入门之监督学习(一)有监督学习
    机器学习入门之监督学习(一)有监督学习简介监督学习算法是常见算法之一,主要分为有监督学习和无监督学习。本文主要记录了有监督学习中的分类算法和回归算法,其中回归算法是最主要内容。本笔记对应视频:阿里云开发者社区学习中心-人工智能学习路线-阶段1:机器学习概览及常见算法对应......
  • 【人工智能】深度学习框架值TF入门-模型保存与加载
    资料:https://tensorflow.google.cn/tutorials/keras/save_and_load#选项Keras的方式Keras版本模型保存与加载函数保存模型权重:model.save_weights保存HDF5文件:model.save保存pb文件:tf.saved_modeltf.saved_model和model.save的区别在于,tf.saved_model格式的模型可以直接......
  • Jmeter 接口测试工具入门
    1)Jmeter介绍JMeter是一款JAVA桌面应用程序,常常被用来做接口测试、负载测试等等JMeter是一款开源测试工具:开源免费软件,不需要任何使用费用小巧绿色,相比LoadRunner的庞大,它非常小巧并且不需要安装(需要安装JDK)功能强大,设计之初只是一个简单的性能测试工具,经过无数次更......
  • transformer小白入门
    transformer库是huggingface发布的1个框架,非常好用,很多外行看起来高大上的问题,用它都可以轻松解决,先来看1个小例子: 一、情感分析fromtransformersimportpipelineclassifier=pipeline('sentiment-analysis')classifier('youarebeautiful')这简单的三行代码,就能分析......
  • 软件测试|测试平台开发-Flask 入门:Flask HTTP请求详解
    简介上一篇文章我们介绍了flask的基本使用,编写了flask的第一个脚本。在本文中,我们将详细介绍如何使用Flask进行HTTP请求。我们将学习如何创建Flask应用程序,并通过不同的HTTP方法(GET、POST、PUT、DELETE等)发送请求。app.route()要使用不同的http方法发送请求,我们要先了解flask是如何......
  • c++基础入门
    1.安装g++编译器是编译C++代码使用的编译器,不要使用gcc了。在用户目录中单独创建一个文件夹存放下载后的3个安装文件,然后进入到目录中执行下面命令cd文件夹sudodpkg-i*.deb本地安装sudoapt-getinstallg++在线安装2.C++的语言特点及优势cwithclass(类)cplusplus大型......