基于PostgreSQL的无代码数据库Teable,2024年最新架构师必备

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

POSTGRES_DB=example
POSTGRES_USER=example
POSTGRES_PASSWORD=standalone_replace_password

PUBLIC_ORIGIN=http://localhost:3000


`3` 月 `18` 号发现已经变成下面这样了



TIMEZONE=UTC

Postgres

POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=example
POSTGRES_USER=example
POSTGRES_PASSWORD=example-password

App

PUBLIC_ORIGIN=http://127.0.0.1
PRISMA_DATABASE_URL=postgresql:// P O S T G R E S U S E R : {POSTGRES_USER}: POSTGRESUSER:{POSTGRES_PASSWORD}@ P O S T G R E S H O S T : {POSTGRES_HOST}: POSTGRESHOST:{POSTGRES_PORT}/${POSTGRES_DB}
PUBLIC_DATABASE_PROXY=127.0.0.1:42345

Need to support sending emails to enable the following configurations

You need to modify the configuration according to the actual situation, otherwise it will not be able to send emails correctly.

#BACKEND_MAIL_HOST=smtp.teable.io
#BACKEND_MAIL_PORT=465
#BACKEND_MAIL_SECURE=true
#BACKEND_MAIL_SENDER=noreply.teable.io
#BACKEND_MAIL_SENDER_NAME=Teable
#BACKEND_MAIL_AUTH_USER=username
#BACKEND_MAIL_AUTH_PASS=password



> 
> 所以如果你下决心折腾,需要仔细阅读最新的官方文档。<https://github.com/teableio/teable/tree/develop/dockers/examples/standalone>
> 
> 
> 


老苏折腾时, `env.txt` 内容如下



TIMEZONE=Asia/Shanghai

Postgres

POSTGRES_HOST=teable-db
POSTGRES_PORT=5432
POSTGRES_DB=example
POSTGRES_USER=example
POSTGRES_PASSWORD=standalone_replace_password

App

PUBLIC_ORIGIN=http://192.168.0.197:3091
PRISMA_DATABASE_URL=postgresql:// P O S T G R E S U S E R : {POSTGRES_USER}: POSTGRESUSER:{POSTGRES_PASSWORD}@ P O S T G R E S H O S T : {POSTGRES_HOST}: POSTGRESHOST:{POSTGRES_PORT}/${POSTGRES_DB}
PUBLIC_DATABASE_PROXY=192.168.0.197:42345

Need to support sending emails to enable the following configurations

You need to modify the configuration according to the actual situation, otherwise it will not be able to send emails correctly.

#BACKEND_MAIL_HOST=smtp.teable.io
#BACKEND_MAIL_PORT=465
#BACKEND_MAIL_SECURE=true
#BACKEND_MAIL_SENDER=noreply.teable.io
#BACKEND_MAIL_SENDER_NAME=Teable
#BACKEND_MAIL_AUTH_USER=username
#BACKEND_MAIL_AUTH_PASS=password


其中 `192.168.0.197` 为群晖主机的 `IP`


### docker compose 安装


安装涉及到 `3` 个容器,所以采用 `docker-compose` 安装,将下面的内容保存为 `docker-compose.yml` 文件



version: ‘3.9’

services:
teable:
image: ghcr.io/teableio/teable:latest
container_name: teable-app
restart: always
ports:
- ‘3091:3000’
volumes:
- ./data:/app/.assets:rw
env_file:
- env.txt
environment:
- TZ=${TIMEZONE}
- NEXT_ENV_IMAGES_ALL_REMOTE=true
depends_on:
- teable_db_migrate

teable_db:
image: postgres:15
container_name: teable-db
restart: always
ports:
- ‘42345:5432’
volumes:
- ./db:/var/lib/postgresql/data:rw
environment:
- TZ= T I M E Z O N E − P O S T G R E S D B = {TIMEZONE} - POSTGRES_DB= TIMEZONEPOSTGRESDB={POSTGRES_DB}
- POSTGRES_USER= P O S T G R E S U S E R − P O S T G R E S P A S S W O R D = {POSTGRES_USER} - POSTGRES_PASSWORD= POSTGRESUSERPOSTGRESPASSWORD={POSTGRES_PASSWORD}
healthcheck:
test: [‘CMD-SHELL’, “sh -c ‘pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}’”]
interval: 10s
timeout: 3s
retries: 3

teable_db_migrate:
image: ghcr.io/teableio/teable-db-migrate:latest
container_name: teable-db-migrate
environment:
- TZ= T I M E Z O N E − P R I S M A D A T A B A S E U R L = p o s t g r e s q l : / / {TIMEZONE} - PRISMA_DATABASE_URL=postgresql:// TIMEZONEPRISMADATABASEURL=postgresql://{POSTGRES_USER}: P O S T G R E S P A S S W O R D @ t e a b l e d b : 5432 / {POSTGRES_PASSWORD}@teable_db:5432/ POSTGRESPASSWORD@teabledb:5432/{POSTGRES_DB}
depends_on:
- teable_db


然后执行下面的命令



新建文件夹 teable 和 子目录

mkdir -p /volume1/docker/teable/{data,db}

进入 teable 目录

cd /volume1/docker/teable

将 .env和 docker-compose.yml 放入当前目录

一键启动

docker-compose --env-file env.txt up -d


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/513cc61b39c949f89a895e2d1fa15e20.png#pic_center)


### https 协议


必须使用 `https` 协议访问,否则注册账号时会报 `500 Internal Server Error` 错误


老苏因为没有 `vps` 主机,所以目前采用的映射公网的方案主要有 `2` 种:


* `tailscale + npm` 方案



> 
> 文章传送门:[用自定义域名访问tailscale节点]( )
> 
> 
> 


* `cloudflared tunnel + npm` 方案



> 
> 文章传送门:[免费的Cloudflared实现外网访问群晖(续)]( )
> 
> 
> 


这两个方案都没有带端口,所以如果你遇到带端口的问题,就不要问老苏了,因为没有环境验证




| 域名 | 局域网地址 | 备注 |
| --- | --- | --- |
| `teable.laosu.tech` | `http://192.168.0.197:3091` | `Teable` 的访问地址 |


## 运行


启动后要稍等一段时间,第一次需要注册账号,所以在浏览器中输入 `https://teable.laosu.tech`,当然你需要输入自己的域名


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6db8dc198d5f4ce09346d3243bef5237.png#pic_center)



> 
> 如果使用 `http://群晖IP:3091` 注册账号,浏览器的开发者工具中,除了会看到 `500 Internal Server Error` 错误,还会显示 `The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead.`,但是注册成功后,还是可以使用 `http://群晖IP:3091` 访问的
> 
> 
> 


登录成功后,默认已经有了一个工作空间



> 
> 会有一个向导,介绍各按钮的功能
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c1641950773947759834a31a98f383ea.png#pic_center)


创建数据库


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3c1bd2bf58834fe7a7de9f446df78fe7.png#pic_center)


目前似乎只能建空白数据库


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ced8164ab5e6480cbc62575376d092be.png#pic_center)


第一次还是有向导


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/647e60207f294b0cb2573ecdb1ebd2cf.png#pic_center)


单击左侧边栏上的+号以创建一个表


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7b708c077d0b4ddf94e396bad86a3be1.png#pic_center)


选择导入 `excel`


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2854f11e240d483a803dafbf67392abb.png#pic_center)



> 
> 老苏用金山文档的向导建了一个带数据的文档,《人员信息统计表.xlsx》,下载地址:[https://github.com/wbsu2003/synology/raw/main/Teable/人员信息统计表.xlsxx]( )
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/027924549f0d482580b633e832d03c60.png#pic_center)




### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/e42ef8c8842ab6612b9e222ce312fafa.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/4fd8ce3058359358ba4b18caae30462c.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/a7463e85b3a4799f5d297e1d2e447cfa.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
1713549461021)]



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-lvrCM0EG-1713549461022)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式数据库原理是指将数据分散存储在不同的物理节点上,通过网络进行通信和数据同步的数据库系统。它可以提高数据库的可扩展性、容错性和性能。 分布式数据库设计思想是将数据划分为多个分片,每个分片存储在不同的节点上。通过数据划分,可以将数据存储在离用户更近的节点上,提高数据的访问速度。同时,分布式数据库可以通过数据复制和数据分发来提供容错性。数据复制可以将数据备份到多个节点上,当某个节点发生故障时,系统可以自动切换到其他节点上继续提供服务。数据分发可以将请求分发到不同的节点进行处理,提高系统的并发处理能力。 PostgreSQL是一种开源的关系型数据库管理系统,具备分布式架构。PostgreSQL的分布式架构包括一个主节点和多个从节点。主节点负责接收用户的请求,并将数据同步到从节点上。从节点可以进行读操作,提高系统的并发处理能力。如果主节点发生故障,从节点可以自动切换为主节点,保证系统的可用性。 PostgreSQL的分布式架构基于流复制技术。主节点将产生的日志记录(WAL日志)通过流复制传输到从节点,从节点会将这些日志记录应用到自己的数据库中。这样可以确保主节点和从节点之间的数据一致。同时,PostgreSQL还支持逻辑复制和扩展查询,可以根据实际需求对数据进行同步和查询的优化。 总之,分布式数据库原理是通过数据的划分、复制和分发,提高数据库的可扩展性、容错性和性能。PostgreSQL的分布式架构基于流复制技术,通过多个节点的协作来提供可靠的数据存储和高效的数据访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值