数据库连接
MemFire Cloud 提供了几种连接Postgres数据库的方式:
- 直接连接:使用Postgres标准连接系统直接与数据库进行连接和交互。
- 无服务器API连接:使用无服务器API以编程方式来访问数据库。
直接连接
每个MemFire Cloud 应用内置一个完整的Postgres数据库,你可以使用任何支持Postgres的工具来连接到数据库。你可以在控制台内的数据库设置中获取连接信息:
- 来到左侧菜单栏的
设置
部分 - 点击
数据库
- 启用数据库直连
- 找到应用的
连接信息
白名单
MemFire Cloud内置白名单功能,开启白名单后,只允许白名单内的IP地址段访问你的数据库。关闭白名单后,访问你数据库的IP地址不受限制,即任何IP地址只要有连接信息都可以与你的数据库进行直连。 在进行白名单配置时,要遵循CIDR规则。MemFire Cloud中白名单功能 默认是关闭的,需用户手动开启。
无服务器API连接#
MemFire Cloud 提供了自动更新API,极大简化了操作数据库中数据的步骤(包括数据查询、插入、更新等等)。同时我们也提供了一些不同类型的API来满足你的业务需求。
案例教程
案例1 使用Navicat连接#
Navicat是一个用于管理Postgres数据库的图形用户界面(GUI)工具。你可以使用它连接到你的数据库:
步骤1
新建一个连接,选择:PostgreSQL
步骤2
在你的MemFire Cloud控制台中找到“连接信息”,并添加此处。点击“测试连接”,若返回成功弹窗则表明连接建立成功。
连接成功后即可管理和查询你的数据。
案例2 使用python连接#
配置:本例中选用pycharm编辑器,python3.8版本。
步骤1
在 MemFire Cloud 控制台中启用数据库直连,找到python的“连接字符串”。
步骤2
在pycharm编辑器中,导入第三方库 psycopg2
,psycopg2
是一个流行的Python库,用于连接和操作PostgreSQL数据库。如果尚未安装此库,请通过以下命令进行安装:
pip install psycopg2
或者在pycharm的 Python Interpreter中进行设置,步骤如下:
步骤3
完成psycopg2
的安装后,将连接字符串中的[YOUR-PASSWORD]
替换为数据库的实际密码。[YOUR-HOST]
替换为数据库的主机地址。
[USER-NAME]
替换为你的用户名。端口号默认为:10010
,数据库名称默认为:postgres
。建立与MemFire Cloud应用数据库连接,然后对数据库进行操作。
代码如下:
1import psycopg2 2 3# 定义连接字符串 4connection_string = "user=[USER-NAME] password=[YOUR-PASSWORD] host=[YOUR-HOST] port=5432 dbname=postgres" 5 6try: 7 # 连接到数据库 8 connection = psycopg2.connect(connection_string) 9 10 # 创建一个游标对象 11 cursor = connection.cursor() 12 13 # 执行SQL查询或其他数据库操作 14 # 注:city是本次数据库中想要操作的表名 15 cursor.execute("SELECT * FROM city;") 16 rows = cursor.fetchall() 17 18 # 输出查询结果 19 for row in rows: 20 print(row) 21 22 # 关闭游标和连接 23 cursor.close() 24 connection.close() 25 26except psycopg2.Error as error: 27 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
。然后对数据库进行操作。
代码如下:
1const { Client } = require('pg');
2
3const connectionString = 'postgresql://[USER-NAME]:[YOUR-PASSWORD]@[YOUR-HOST]:5432/postgres';
4
5const client = new Client({
6 connectionString: connectionString,
7});
8
9// 连接数据库
10client.connect()
11 .then(() => {
12 console.log('已连接到数据库');
13 // 现在你可以使用 'client' 对象执行查询
14 })
15 .catch((err) => {
16 console.error('连接数据库出错', err);
17 });
18
19//查询数据库
20 client.query('SELECT * FROM city;')
21 .then((result) => {
22 console.log('查询结果:', result.rows);
23 })
24 .catch((err) => {
25 console.error('执行查询出错:', err);
26 });
到 app.js
文件所在的目录下执行 node app.js,运行app.js
文件,可得到返回结果
node app.js
这段代码返回数据库中表“city”的全部内容。可以看出,返回结果与表中数据一致。