MemFire Cloud 提供了几种连接Postgres数据库的方式:

  1. 直接连接:使用Postgres标准连接系统直接与数据库进行连接和交互。
  2. 无服务器API连接:使用无服务器API以编程方式来访问数据库。

直接连接

每个MemFire Cloud 应用内置一个完整的Postgres数据库,你可以使用任何支持Postgres的工具来连接到数据库。你可以在控制台内的数据库设置中获取连接信息:

  1. 来到左侧菜单栏的 设置部分
  2. 点击数据库
  3. 启用数据库直连
  4. 找到应用的连接信息

白名单

MemFire Cloud内置白名单功能,开启白名单后,只允许白名单内的IP地址段访问你的数据库。关闭白名单后,访问你数据库的IP地址不受限制,即任何IP地址只要有连接信息都可以与你的数据库进行直连。 在进行白名单配置时,要遵循CIDR规则。MemFire Cloud中白名单功能 默认是关闭的,需用户手动开启。

无服务器API连接

MemFire Cloud 提供了自动更新API,极大简化了操作数据库中数据的步骤(包括数据查询、插入、更新等等)。同时我们也提供了一些不同类型的API来满足你的业务需求。

  • REST:通过REST接口与你的数据库进行交互。
  • GraphQL:通过GraphQL接口与你的数据库互动。
  • Realtime:通过websockets监听数据库变化。

案例教程

案例1 使用Navicat连接

Navicat是一个用于管理Postgres数据库的图形用户界面(GUI)工具。你可以使用它连接到你的数据库:

步骤1

新建一个连接,选择:PostgreSQL

步骤2

在你的MemFire Cloud控制台中找到“连接信息”,并添加此处。点击“测试连接”,若返回成功弹窗则表明连接建立成功。

连接成功后即可管理和查询你的数据。

案例2 使用python连接

配置:本例中选用pycharm编辑器,python3.8版本。

步骤1

在 MemFire Cloud 控制台中启用数据库直连,找到python的“连接字符串”。

步骤2

在pycharm编辑器中,导入第三方库 psycopg2psycopg2是一个流行的Python库,用于连接和操作PostgreSQL数据库。如果尚未安装此库,请通过以下命令进行安装:

  pip install psycopg2
  

或者在pycharm的 Python Interpreter中进行设置,步骤如下:

步骤3

完成psycopg2的安装后,将连接字符串中的[YOUR-PASSWORD]替换为数据库的实际密码。[YOUR-HOST]替换为数据库的主机地址。 [USER-NAME]替换为你的用户名。端口号默认为:10010,数据库名称默认为:postgres。建立与MemFire Cloud应用数据库连接,然后对数据库进行操作。

代码如下:

  import psycopg2

# 定义连接字符串
connection_string = "user=[USER-NAME] password=[YOUR-PASSWORD] host=[YOUR-HOST] port=5432 dbname=postgres"

try:
    # 连接到数据库
    connection = psycopg2.connect(connection_string)

    # 创建一个游标对象
    cursor = connection.cursor()

    # 执行SQL查询或其他数据库操作
    # 注:city是本次数据库中想要操作的表名
    cursor.execute("SELECT * FROM city;")
    rows = cursor.fetchall()

    # 输出查询结果
    for row in rows:
        print(row)

    # 关闭游标和连接
    cursor.close()
    connection.close()

except psycopg2.Error as error:
    print("Error connecting to the database:", error)
  

这段代码返回数据库中表“city”的全部内容。可以看出,返回结果与表中数据一致。

:如编译不通过,尝试将python连接字符串中参数database改为dbname。因为psycopg2库并不认可database这个参数

案例3 使用Nodejs连接

配置:本例中选用VScode编辑器,node.js版本v16.19.0

步骤1

在 MemFire Cloud 控制台中启用数据库直连,找到nodejs的“连接字符串”。

步骤2

确保你的系统上已经安装了Node.js和npm。创建一个新的Node.js项目或使用现有项目。进入项目目录并安装pg库,这是Node.js中常用的PostgreSQL客户端。

  npm install pg
  

步骤3

创建一个JavaScript文件(本例app.js)并在文件开头导入pg库,使用连接字符串建立数据库连接: 将连接字符串中的[YOUR-PASSWORD]替换为数据库的实际密码。[YOUR-HOST]替换为数据库的主机地址。[USER-NAME]替换为你的用户名。端口号默认为:10010,数据库名称默认为:postgres。然后对数据库进行操作。

代码如下:

  const { Client } = require('pg');

const connectionString = 'postgresql://[USER-NAME]:[YOUR-PASSWORD]@[YOUR-HOST]:5432/postgres';

const client = new Client({
  connectionString: connectionString,
});

// 连接数据库
client.connect()
  .then(() => {
    console.log('已连接到数据库');
    // 现在你可以使用 'client' 对象执行查询
  })
  .catch((err) => {
    console.error('连接数据库出错', err);
  });

//查询数据库
  client.query('SELECT * FROM city;')
  .then((result) => {
    console.log('查询结果:', result.rows);
  })
  .catch((err) => {
    console.error('执行查询出错:', err);
  });
  

app.js 文件所在的目录下执行 node app.js,运行app.js文件,可得到返回结果

  node app.js
  

这段代码返回数据库中表“city”的全部内容。可以看出,返回结果与表中数据一致。