Thank you for your interest in the Perimeter project (“Project”). The Project is managed by the KD Vision, a Russian Private limited company, headquartered in Kaliningrad, Russia (the “Company”). In order to clarify the intellectual property license granted with Contributions from any person or entity, the Company must have a Contributor License Agreement ("CLA") on file that has been agreed to by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Company, the Project and its users; it does not change your rights to use your own Contributions for any other purpose. By clicking “Sign in to Github to agree” and following the steps to sign in to Github, you acknowledge that you have read, understand and agree to be bound by this Agreement and comply with the KD Vision Company’s Code of Con
Thank you for your interest in the Vangers project (“Project”). The Project is managed by the KranX Productions, a Russian Private limited company, headquartered in Kaliningrad, Russia (the “Company”). In order to clarify the intellectual property license granted with Contributions from any person or entity, the Company must have a Contributor License Agreement ("CLA") on file that has been agreed to by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Company, the Project and its users; it does not change your rights to use your own Contributions for any other purpose. By clicking “Sign in to Github to agree” and following the steps to sign in to Github, you acknowledge that you have read, understand and agree to be bound by this Agreement and comply with the KranX Company’s Code of Con
<svg viewBox="0 0 {maxWidth} {maxHeight}" | |
style="width: {width}; height: {height};vertical-align: middle;margin-top: {marginTop};" | |
preserveAspectRatio="none"> | |
{#each data as value, index} | |
<path stroke="{ (value/maxHeight) * 100 > 80 ? colorDanger : color}" | |
stroke-width="{strokeWidth}" | |
d="M{(strokeWidth + 2) * index + strokeWidth/2} 100 V{ maxHeight - (value/maxHeight) * 100 }" | |
/> | |
{/each} | |
</svg> |
<script> | |
import { tick } from 'svelte'; | |
let valueCopy = null; | |
export let value = null; | |
let areaDom; | |
async function copy() { | |
valueCopy = value; | |
await tick(); |
diff --git a/CMakeLists.txt b/CMakeLists.txt | |
new file mode 100644 | |
index 0000000000..795f34db48 | |
--- /dev/null | |
+++ b/CMakeLists.txt | |
@@ -0,0 +1,1429 @@ | |
+cmake_minimum_required(VERSION 2.8.4) | |
+ | |
+project(Postgres C) | |
+ |
--- src/backend/access/heap/Makefile | |
+++ src/backend/access/heap/Makefile | |
@@ -12,6 +12,6 @@ subdir = src/backend/access/heap | |
top_builddir = ../../../.. | |
include $(top_builddir)/src/Makefile.global | |
-OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o | |
+OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o ptrack.o | |
include $(top_srcdir)/src/backend/common.mk |
diff --git a/src/backend/access/heap/Makefile b/src/backend/access/heap/Makefile | |
index b83d496..788c55c 100644 | |
--- a/src/backend/access/heap/Makefile | |
+++ b/src/backend/access/heap/Makefile | |
@@ -12,6 +12,6 @@ subdir = src/backend/access/heap | |
top_builddir = ../../../.. | |
include $(top_builddir)/src/Makefile.global | |
-OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o | |
+OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o ptrack.o |
diff --git a/src/backend/access/heap/Makefile b/src/backend/access/heap/Makefile | |
index b83d496..788c55c 100644 | |
--- a/src/backend/access/heap/Makefile | |
+++ b/src/backend/access/heap/Makefile | |
@@ -12,6 +12,6 @@ subdir = src/backend/access/heap | |
top_builddir = ../../../.. | |
include $(top_builddir)/src/Makefile.global | |
-OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o | |
+OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o visibilitymap.o ptrack.o |
import tornado.ioloop | |
import tornado.web | |
import json | |
class MainHandler(tornado.web.RequestHandler): | |
def get(self, type_r=None): | |
format_answer = self.get_argument("format", "json") | |
# bla bla request to postgres | |
if format_answer == "sql": | |
self.write(my_sql_answer) |
First, I will talk about the current state of affairs. We have a several approaches:
-
Scan all db files and compare page LSN (barman, pg_rman). If you have big db it is not your choice.
-
Scan archive WAL files (current pg_arman). If you have high load it is not oyur choice too. (Big databases rarely living without high load.)
-
Pages are tracked using bitmap during runtime, so the needed ones can be easily dumped. (Oracle and my ptrack (patches for postgres and pg_arman)) It's really your choice.