GithubHelp home page GithubHelp logo

iyuangang / pigsty Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vonng/pigsty

0.0 1.0 0.0 17 MB

Pigsty - Battery-Included Open-Source Distribution for PostgreSQL

Home Page: https://pigsty.cc

License: Apache License 2.0

Shell 48.16% Python 12.98% Makefile 6.51% PLpgSQL 4.92% HCL 0.80% Jinja 26.62%

pigsty's Introduction

Pigsty

Battery-Included Open-Source PostgreSQL Distribution

Latest Version: v1.5.0 | Demo

Documentation: Docs | 中文文档 | Github Pages

Run make doc to serve EN Docs & ZH Docs on your localhost

What is Pigsty?

Check FEATURES for detail.

  • Postgres Distribution: PostgreSQL, PostGIS, TimescaleDB, Citus, Redis/GP, United in One!
  • SRE/PaaS Solution: Grafana, Prometheus, Loki, AlertManager, Docker, run whatever you want!
  • Developer Toolbox: : Describe & Create: Primary/Replica/Standby/Delayed/Offline/Cascade/Citus in minutes!
  • Open Source RDS: Safe & Cost-Saving Open-Source alternative to public cloud RDS!
  • High-Availability: Auto-Pilot Postgres with idempotent instances & services, self-healing from failures!
  • Ultimate Observability: Unparalleled monitoring system based on modern open-source best-practice!!
  • Easy to Use: Setup everything in minutes without Internet access, scale/backup/migration with one click!
  • Database as Code: Describe & Create: Primary/Replica/Standby/Delayed/Offline/Cascade/Citus in minutes!
  • Ubiquitous Deploy: Prod env or 1C1G VM sandbox, solve IaaS provisioning with vagrant / terraform!
  • Versatile Scenario: Databases management or host monitoring. Supporting SaaS or developing data apps.
  • Safety & Thrifty: 50% - 80% cost saving versus Cloud RDS. Proven in real-world, large-scale env.
Distribution

Distribution

Observability

Observability

High Availability

High Availability

Architecture

Architecture

Sandbox

Sandbox

Provisioning

Provisioning

User Interface

User Interface

Application

Application

TL; DR

Get a new Linux x86_64 CentOS 7.8 node. with nopass sudo & ssh access, then:

bash -c "$(curl -fsSL http://download.pigsty.cc/get)"  # get latest pigsty source
cd ~/pigsty && ./configure                             # pre-check and config templating 
./infra.yml                                            # install pigsty on current node

Now you have a battery-included Postgres on port 5432 and infra web services available on port 80.

Check Quick Start & Demo for details.

Download Packages Directly Pigsty source & software packages can be downloaded directly via `curl` in case of no Internet connection:
curl -SL https://github.com/Vonng/pigsty/releases/download/v1.5.0/pigsty.tgz | gzip -d | tar -xC ~
curl -SL https://github.com/Vonng/pigsty/releases/download/v1.5.0/pkg.tgz -o /tmp/pkg.tgz # optional
Mange More Nodes You can add more nodes to Pigsty with [`nodes.yml`](p-nodes.md#nodes) after installing the meta node with [`infra.yml`](p-infra.md#infra).
./nodes.yml  -l pg-test      # init 3 nodes of cluster pg-test
Define Postgres Cluster You can define a HA Postgres Cluster with streaming replication in a few lines of code:
pg-test:
  hosts:
    10.10.10.11: {pg_seq: 1, pg_role: primary} 
    10.10.10.12: {pg_seq: 2, pg_role: replica}
    10.10.10.13: {pg_seq: 3, pg_role: replica}
  vars: 
    pg_cluster: pg-test

You can create Postgres with different roles by declaring them: primary, replica, standby, delayed, offline, cascade, etc...

Deploy Databases Clusters You can deploy different types of databases & clusters with corresponding playbooks.
./pgsql.yml         -l pg-test      # init 1-primary & 2-replica pgsql cluster
./redis.yml         -l redis-test   # init redis cluster redis-test
./pigsty-matrixdb.yml -l mx-*         # init MatrixDB cluster mx-mdw,mx-sdw .....

About

Author: Vonng ([email protected])

License: Apache 2.0 License

Copyright 2018-2022 [email protected] (Vonng)

Star History Chart

Beian: 浙ICP备15016890-2号

pigsty's People

Contributors

vonng avatar superzhu0818 avatar alemacci avatar takakawa avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.