• edgedb 内部pg 数据存储的探索 (一)基本环境搭建


    edgedb 是基于pg 上的对象关系数据库,已经写过使用docker 运行的demo,为了探索内部的原理,做了一下尝试,开启pg 访问
    后边会进一步的学习

    环境准备

    为了测试,使用yum 安装

    • 安装
    sudo tee <<'EOF' /etc/yum.repos.d/edgedb.repo
    [edgedb]
    name=edgedb
    baseurl=https://packages.edgedb.com/rpm/el$releasever/
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.edgedb.com/keys/edgedb.asc
    EOF
    sudo yum install edgedb-1-alpha1
    
    • 修改配置探索
      因为edgedb 基于python 开发,同时后端是基于pg 的,通过查找源码,发现在server/main.py 中有pg 启动的处理,如下,所以
      通过修改listen_addresses=0.0.0.0, 端口没有固定,是自动随机生成的

    • 修改配置
      通过locate 查找main.py 路径如下
    locate main.py
    /usr/lib/python2.7/site-packages/compose/cli/main.py
    /usr/lib/python2.7/site-packages/compose/cli/main.pyc
    /usr/lib64/edgedb-1-alpha1/lib/python3.7/site-packages/edb/server/main.py

    直接修改main.py 中的 run_server 方法中pg 的启动参数

    • 启动edgedb
    systemctl start edgedb-1-alpha1.service
    • 查看启动参数
    ps -ef |grep postgres

    效果如下,发现成功了

    /usr/lib64/edgedb-1-alpha1/bin/postgres 
    -D /var/lib/edgedb/1-alpha1/data/ --port=50200 
    -c log_connections=yes -c log_statement=all -c log_disconnections=yes -c log_min_messages=INFO 
    -c client_min_messages=INFO -c listen_addresses=0.0.0.0 -c unix_socket_permissions=0700 
    -c TimeZone=UTC -c default_transaction_isolation=repeatable read -c max_connections=500 
    -c unix_socket_directories=/var/lib/edgedb/1-alpha1/data/
    • 连接测试
    psql -U postgres -p 50200 -h localhost

    效果如下,成功了

     psql -U postgres -p 50200 -h localhost
    psql (11.2)
    输入 "help" 来获取帮助信息.
    
    postgres=#
    • edgedb 数据表结构

    以下是一张简单的图

    说明

    这个只是分析的开端,开启的pg 的访问,后边结合edgedb 的操作语言,分析pg 中数据的存储方式

    参考资料

    https://edgedb.com/download?distro=linux

  • 相关阅读:
    poj 2226 Muddy Fields(最小点覆盖)
    hdu 5093 Battle ships(二分图最大匹配)
    poj 3020 Antenna Placement(二分图最大匹配)
    poj 3041 Asteroids(最小点覆盖)
    二分图的一些定理
    hdu 1083 Courses(二分图最大匹配)
    二分图最大匹配模板
    hdu 5094 Maze (BFS+状压)
    hdu 5092 Seam Carving (简单数塔DP,题没读懂,,不过可以分析样例)
    hdu 5090 Game with Pearls (额,, 想法题吧 / 二分图最大匹配也可做)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10733079.html
Copyright © 2020-2023  润新知