mirror of
https://github.com/databasus/databasus.git
synced 2026-04-06 00:32:03 +02:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e41f58d63b | ||
|
|
c04ab37962 | ||
|
|
c0756cdcd3 | ||
|
|
54a6a30024 | ||
|
|
8c00801feb | ||
|
|
26bc3dd4f2 | ||
|
|
b45158afa2 | ||
|
|
46512d2bc8 | ||
|
|
05e5b6839b | ||
|
|
8f12e1a96a | ||
|
|
94a7da2ace | ||
|
|
a4f75794f5 | ||
|
|
da9b279e8b | ||
|
|
7a5654a80a |
@@ -12,6 +12,7 @@ backend/tools
|
||||
backend/mysqldata
|
||||
backend/pgdata
|
||||
backend/mariadbdata
|
||||
backend/mongodbdata
|
||||
backend/temp
|
||||
backend/images
|
||||
backend/bin
|
||||
@@ -59,7 +60,10 @@ deploy
|
||||
LICENSE
|
||||
CITATION.cff
|
||||
*.md
|
||||
assets
|
||||
|
||||
# Assets - exclude SVGs but keep tools
|
||||
assets/*.svg
|
||||
assets/tools/download_postgresql.sh
|
||||
|
||||
# Python cache
|
||||
**/__pycache__
|
||||
|
||||
54
.github/workflows/ci-release.yml
vendored
54
.github/workflows/ci-release.yml
vendored
@@ -191,6 +191,7 @@ jobs:
|
||||
TEST_MYSQL_57_PORT=33057
|
||||
TEST_MYSQL_80_PORT=33080
|
||||
TEST_MYSQL_84_PORT=33084
|
||||
TEST_MYSQL_90_PORT=33090
|
||||
# testing MariaDB
|
||||
TEST_MARIADB_55_PORT=33055
|
||||
TEST_MARIADB_101_PORT=33101
|
||||
@@ -212,6 +213,14 @@ jobs:
|
||||
TEST_SUPABASE_USERNAME=${{ secrets.TEST_SUPABASE_USERNAME }}
|
||||
TEST_SUPABASE_PASSWORD=${{ secrets.TEST_SUPABASE_PASSWORD }}
|
||||
TEST_SUPABASE_DATABASE=${{ secrets.TEST_SUPABASE_DATABASE }}
|
||||
# testing MongoDB
|
||||
TEST_MONGODB_40_PORT=27040
|
||||
TEST_MONGODB_42_PORT=27042
|
||||
TEST_MONGODB_44_PORT=27044
|
||||
TEST_MONGODB_50_PORT=27050
|
||||
TEST_MONGODB_60_PORT=27060
|
||||
TEST_MONGODB_70_PORT=27070
|
||||
TEST_MONGODB_82_PORT=27082
|
||||
EOF
|
||||
|
||||
- name: Start test containers
|
||||
@@ -251,6 +260,8 @@ jobs:
|
||||
timeout 120 bash -c 'until docker exec test-mysql-80 mysqladmin ping -h localhost -u root -prootpassword --silent 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MySQL 8.4..."
|
||||
timeout 120 bash -c 'until docker exec test-mysql-84 mysqladmin ping -h localhost -u root -prootpassword --silent 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MySQL 9.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mysql-90 mysqladmin ping -h localhost -u root -prootpassword --silent 2>/dev/null; do sleep 2; done'
|
||||
|
||||
# Wait for MariaDB containers
|
||||
echo "Waiting for MariaDB 5.5..."
|
||||
@@ -276,6 +287,22 @@ jobs:
|
||||
echo "Waiting for MariaDB 12.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mariadb-120 healthcheck.sh --connect --innodb_initialized 2>/dev/null; do sleep 2; done'
|
||||
|
||||
# Wait for MongoDB containers
|
||||
echo "Waiting for MongoDB 4.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-40 mongo --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 4.2..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-42 mongo --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 4.4..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-44 mongo --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 5.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-50 mongosh --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 6.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-60 mongosh --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 7.0..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-70 mongosh --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
echo "Waiting for MongoDB 8.2..."
|
||||
timeout 120 bash -c 'until docker exec test-mongodb-82 mongosh --eval "db.adminCommand(\"ping\")" -u root -p rootpassword --authenticationDatabase admin 2>/dev/null; do sleep 2; done'
|
||||
|
||||
- name: Create data and temp directories
|
||||
run: |
|
||||
# Create directories that are used for backups and restore
|
||||
@@ -295,7 +322,7 @@ jobs:
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: backend/tools/mysql
|
||||
key: mysql-clients-57-80-84-v1
|
||||
key: mysql-clients-57-80-84-9-v1
|
||||
|
||||
- name: Cache MariaDB client tools
|
||||
id: cache-mariadb
|
||||
@@ -304,6 +331,13 @@ jobs:
|
||||
path: backend/tools/mariadb
|
||||
key: mariadb-clients-106-121-v1
|
||||
|
||||
- name: Cache MongoDB Database Tools
|
||||
id: cache-mongodb
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: backend/tools/mongodb
|
||||
key: mongodb-database-tools-100.10.0-v1
|
||||
|
||||
- name: Install MySQL dependencies
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
@@ -311,8 +345,8 @@ jobs:
|
||||
sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
|
||||
sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5
|
||||
|
||||
- name: Install PostgreSQL, MySQL and MariaDB client tools
|
||||
if: steps.cache-postgres.outputs.cache-hit != 'true' || steps.cache-mysql.outputs.cache-hit != 'true' || steps.cache-mariadb.outputs.cache-hit != 'true'
|
||||
- name: Install PostgreSQL, MySQL, MariaDB and MongoDB client tools
|
||||
if: steps.cache-postgres.outputs.cache-hit != 'true' || steps.cache-mysql.outputs.cache-hit != 'true' || steps.cache-mariadb.outputs.cache-hit != 'true' || steps.cache-mongodb.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
chmod +x backend/tools/download_linux.sh
|
||||
cd backend/tools
|
||||
@@ -354,6 +388,18 @@ jobs:
|
||||
echo "MariaDB 12.1 client tools NOT found"
|
||||
fi
|
||||
|
||||
- name: Verify MongoDB Database Tools exist
|
||||
run: |
|
||||
cd backend/tools
|
||||
echo "Checking MongoDB Database Tools..."
|
||||
if [ -f "mongodb/bin/mongodump" ]; then
|
||||
echo "MongoDB Database Tools found"
|
||||
ls -la mongodb/bin/
|
||||
mongodb/bin/mongodump --version || true
|
||||
else
|
||||
echo "MongoDB Database Tools NOT found"
|
||||
fi
|
||||
|
||||
- name: Run database migrations
|
||||
run: |
|
||||
cd backend
|
||||
@@ -363,7 +409,7 @@ jobs:
|
||||
- name: Run Go tests
|
||||
run: |
|
||||
cd backend
|
||||
go test -p=1 -count=1 -failfast ./internal/...
|
||||
go test -p=1 -count=1 -failfast -timeout 10m ./internal/...
|
||||
|
||||
- name: Stop test containers
|
||||
if: always()
|
||||
|
||||
@@ -29,5 +29,5 @@ keywords:
|
||||
- system-administration
|
||||
- database-backup
|
||||
license: Apache-2.0
|
||||
version: 2.11.0
|
||||
date-released: "2025-12-20"
|
||||
version: 2.15.0
|
||||
date-released: "2025-12-24"
|
||||
|
||||
191
Dockerfile
191
Dockerfile
@@ -77,100 +77,115 @@ ENV APP_VERSION=$APP_VERSION
|
||||
# Set production mode for Docker containers
|
||||
ENV ENV_MODE=production
|
||||
|
||||
# Install PostgreSQL server and client tools (versions 12-18), MySQL client tools (5.7, 8.0, 8.4), MariaDB client tools, and rclone
|
||||
# Note: MySQL 5.7 is only available for x86_64, MySQL 8.0+ supports both x86_64 and ARM64
|
||||
# Note: MySQL binaries require libncurses5 for terminal handling
|
||||
# Note: MariaDB uses a single client version (12.1) that is backward compatible with all server versions
|
||||
# ========= STEP 1: Install base packages =========
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
wget ca-certificates gnupg lsb-release sudo gosu curl unzip xz-utils libncurses5 libncurses6
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ========= Install PostgreSQL client binaries (versions 12-18) =========
|
||||
# Pre-downloaded binaries from assets/tools/ - no network download needed
|
||||
ARG TARGETARCH
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget ca-certificates gnupg lsb-release sudo gosu curl unzip xz-utils libncurses5 && \
|
||||
# Add PostgreSQL repository
|
||||
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
|
||||
RUN mkdir -p /usr/lib/postgresql/12/bin /usr/lib/postgresql/13/bin \
|
||||
/usr/lib/postgresql/14/bin /usr/lib/postgresql/15/bin \
|
||||
/usr/lib/postgresql/16/bin /usr/lib/postgresql/17/bin \
|
||||
/usr/lib/postgresql/18/bin
|
||||
|
||||
# Copy pre-downloaded PostgreSQL binaries based on architecture
|
||||
COPY assets/tools/x64/postgresql/ /tmp/pg-x64/
|
||||
COPY assets/tools/arm/postgresql/ /tmp/pg-arm/
|
||||
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
cp -r /tmp/pg-x64/postgresql-12/bin/* /usr/lib/postgresql/12/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-13/bin/* /usr/lib/postgresql/13/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-14/bin/* /usr/lib/postgresql/14/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-15/bin/* /usr/lib/postgresql/15/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-16/bin/* /usr/lib/postgresql/16/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-17/bin/* /usr/lib/postgresql/17/bin/ && \
|
||||
cp -r /tmp/pg-x64/postgresql-18/bin/* /usr/lib/postgresql/18/bin/; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
cp -r /tmp/pg-arm/postgresql-12/bin/* /usr/lib/postgresql/12/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-13/bin/* /usr/lib/postgresql/13/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-14/bin/* /usr/lib/postgresql/14/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-15/bin/* /usr/lib/postgresql/15/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-16/bin/* /usr/lib/postgresql/16/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-17/bin/* /usr/lib/postgresql/17/bin/ && \
|
||||
cp -r /tmp/pg-arm/postgresql-18/bin/* /usr/lib/postgresql/18/bin/; \
|
||||
fi && \
|
||||
rm -rf /tmp/pg-x64 /tmp/pg-arm && \
|
||||
chmod +x /usr/lib/postgresql/*/bin/*
|
||||
|
||||
# Install PostgreSQL 17 server (needed for internal database)
|
||||
# Add PostgreSQL repository for server installation only
|
||||
RUN wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
|
||||
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
|
||||
> /etc/apt/sources.list.d/pgdg.list && \
|
||||
apt-get update && \
|
||||
# Install PostgreSQL
|
||||
apt-get install -y --no-install-recommends \
|
||||
postgresql-17 postgresql-18 postgresql-client-12 postgresql-client-13 postgresql-client-14 postgresql-client-15 \
|
||||
postgresql-client-16 postgresql-client-17 postgresql-client-18 rclone && \
|
||||
# Create MySQL directories
|
||||
mkdir -p /usr/local/mysql-5.7/bin /usr/local/mysql-8.0/bin /usr/local/mysql-8.4/bin && \
|
||||
# Download and install MySQL client tools (architecture-aware)
|
||||
# MySQL 5.7: Only available for x86_64
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -O /tmp/mysql57.tar.gz && \
|
||||
tar -xzf /tmp/mysql57.tar.gz -C /tmp && \
|
||||
cp /tmp/mysql-5.7.*/bin/mysql /usr/local/mysql-5.7/bin/ && \
|
||||
cp /tmp/mysql-5.7.*/bin/mysqldump /usr/local/mysql-5.7/bin/ && \
|
||||
rm -rf /tmp/mysql-5.7.* /tmp/mysql57.tar.gz; \
|
||||
else \
|
||||
echo "MySQL 5.7 not available for $TARGETARCH, skipping..."; \
|
||||
fi && \
|
||||
# MySQL 8.0: Available for both x86_64 and ARM64
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-x86_64-minimal.tar.xz -O /tmp/mysql80.tar.xz; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
wget -q https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-aarch64-minimal.tar.xz -O /tmp/mysql80.tar.xz; \
|
||||
fi && \
|
||||
tar -xJf /tmp/mysql80.tar.xz -C /tmp && \
|
||||
cp /tmp/mysql-8.0.*/bin/mysql /usr/local/mysql-8.0/bin/ && \
|
||||
cp /tmp/mysql-8.0.*/bin/mysqldump /usr/local/mysql-8.0/bin/ && \
|
||||
rm -rf /tmp/mysql-8.0.* /tmp/mysql80.tar.xz && \
|
||||
# MySQL 8.4: Available for both x86_64 and ARM64
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.17-x86_64-minimal.tar.xz -O /tmp/mysql84.tar.xz; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
wget -q https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.17-aarch64-minimal.tar.xz -O /tmp/mysql84.tar.xz; \
|
||||
fi && \
|
||||
tar -xJf /tmp/mysql84.tar.xz -C /tmp && \
|
||||
cp /tmp/mysql-8.4.*/bin/mysql /usr/local/mysql-8.4/bin/ && \
|
||||
cp /tmp/mysql-8.4.*/bin/mysqldump /usr/local/mysql-8.4/bin/ && \
|
||||
rm -rf /tmp/mysql-8.4.* /tmp/mysql84.tar.xz && \
|
||||
# Make MySQL binaries executable (ignore errors for empty dirs on ARM64)
|
||||
chmod +x /usr/local/mysql-*/bin/* 2>/dev/null || true && \
|
||||
# Create MariaDB directories for both versions
|
||||
# MariaDB uses two client versions:
|
||||
# - 10.6 (legacy): For older servers (5.5, 10.1) that don't have generation_expression column
|
||||
# - 12.1 (modern): For newer servers (10.2+)
|
||||
mkdir -p /usr/local/mariadb-10.6/bin /usr/local/mariadb-12.1/bin && \
|
||||
# Download and install MariaDB 10.6 client tools (legacy - for older servers)
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://archive.mariadb.org/mariadb-10.6.21/bintar-linux-systemd-x86_64/mariadb-10.6.21-linux-systemd-x86_64.tar.gz -O /tmp/mariadb106.tar.gz && \
|
||||
tar -xzf /tmp/mariadb106.tar.gz -C /tmp && \
|
||||
cp /tmp/mariadb-10.6.*/bin/mariadb /usr/local/mariadb-10.6/bin/ && \
|
||||
cp /tmp/mariadb-10.6.*/bin/mariadb-dump /usr/local/mariadb-10.6/bin/ && \
|
||||
rm -rf /tmp/mariadb-10.6.* /tmp/mariadb106.tar.gz; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
# For ARM64, install MariaDB 10.6 client from official repository
|
||||
curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc | gpg --dearmor -o /usr/share/keyrings/mariadb-keyring.gpg && \
|
||||
echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.gpg] https://mirror.mariadb.org/repo/10.6/debian $(lsb_release -cs) main" > /etc/apt/sources.list.d/mariadb106.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends mariadb-client && \
|
||||
cp /usr/bin/mariadb /usr/local/mariadb-10.6/bin/mariadb && \
|
||||
cp /usr/bin/mariadb-dump /usr/local/mariadb-10.6/bin/mariadb-dump && \
|
||||
apt-get remove -y mariadb-client && \
|
||||
rm /etc/apt/sources.list.d/mariadb106.list; \
|
||||
fi && \
|
||||
# Download and install MariaDB 12.1 client tools (modern - for newer servers)
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://archive.mariadb.org/mariadb-12.1.2/bintar-linux-systemd-x86_64/mariadb-12.1.2-linux-systemd-x86_64.tar.gz -O /tmp/mariadb121.tar.gz && \
|
||||
tar -xzf /tmp/mariadb121.tar.gz -C /tmp && \
|
||||
cp /tmp/mariadb-12.1.*/bin/mariadb /usr/local/mariadb-12.1/bin/ && \
|
||||
cp /tmp/mariadb-12.1.*/bin/mariadb-dump /usr/local/mariadb-12.1/bin/ && \
|
||||
rm -rf /tmp/mariadb-12.1.* /tmp/mariadb121.tar.gz; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
# For ARM64, install MariaDB 12.1 client from official repository
|
||||
echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.gpg] https://mirror.mariadb.org/repo/12.1/debian $(lsb_release -cs) main" > /etc/apt/sources.list.d/mariadb121.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends mariadb-client && \
|
||||
cp /usr/bin/mariadb /usr/local/mariadb-12.1/bin/mariadb && \
|
||||
cp /usr/bin/mariadb-dump /usr/local/mariadb-12.1/bin/mariadb-dump; \
|
||||
fi && \
|
||||
# Make MariaDB binaries executable
|
||||
chmod +x /usr/local/mariadb-*/bin/* 2>/dev/null || true && \
|
||||
# Cleanup
|
||||
apt-get install -y --no-install-recommends postgresql-17 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ========= Install rclone =========
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends rclone && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create directories for all database clients
|
||||
RUN mkdir -p /usr/local/mysql-5.7/bin /usr/local/mysql-8.0/bin /usr/local/mysql-8.4/bin \
|
||||
/usr/local/mysql-9/bin \
|
||||
/usr/local/mariadb-10.6/bin /usr/local/mariadb-12.1/bin \
|
||||
/usr/local/mongodb-database-tools/bin
|
||||
|
||||
# ========= Install MySQL clients (5.7, 8.0, 8.4, 9) =========
|
||||
# Pre-downloaded binaries from assets/tools/ - no network download needed
|
||||
# Note: MySQL 5.7 is only available for x86_64
|
||||
# Note: MySQL binaries require libncurses5 for terminal handling
|
||||
COPY assets/tools/x64/mysql/ /tmp/mysql-x64/
|
||||
COPY assets/tools/arm/mysql/ /tmp/mysql-arm/
|
||||
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
cp /tmp/mysql-x64/mysql-5.7/bin/* /usr/local/mysql-5.7/bin/ && \
|
||||
cp /tmp/mysql-x64/mysql-8.0/bin/* /usr/local/mysql-8.0/bin/ && \
|
||||
cp /tmp/mysql-x64/mysql-8.4/bin/* /usr/local/mysql-8.4/bin/ && \
|
||||
cp /tmp/mysql-x64/mysql-9/bin/* /usr/local/mysql-9/bin/; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
echo "MySQL 5.7 not available for arm64, skipping..." && \
|
||||
cp /tmp/mysql-arm/mysql-8.0/bin/* /usr/local/mysql-8.0/bin/ && \
|
||||
cp /tmp/mysql-arm/mysql-8.4/bin/* /usr/local/mysql-8.4/bin/ && \
|
||||
cp /tmp/mysql-arm/mysql-9/bin/* /usr/local/mysql-9/bin/; \
|
||||
fi && \
|
||||
rm -rf /tmp/mysql-x64 /tmp/mysql-arm && \
|
||||
chmod +x /usr/local/mysql-*/bin/*
|
||||
|
||||
# ========= Install MariaDB clients (10.6, 12.1) =========
|
||||
# Pre-downloaded binaries from assets/tools/ - no network download needed
|
||||
# 10.6 (legacy): For older servers (5.5, 10.1) that don't have generation_expression column
|
||||
# 12.1 (modern): For newer servers (10.2+)
|
||||
COPY assets/tools/x64/mariadb/ /tmp/mariadb-x64/
|
||||
COPY assets/tools/arm/mariadb/ /tmp/mariadb-arm/
|
||||
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
cp /tmp/mariadb-x64/mariadb-10.6/bin/* /usr/local/mariadb-10.6/bin/ && \
|
||||
cp /tmp/mariadb-x64/mariadb-12.1/bin/* /usr/local/mariadb-12.1/bin/; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
cp /tmp/mariadb-arm/mariadb-10.6/bin/* /usr/local/mariadb-10.6/bin/ && \
|
||||
cp /tmp/mariadb-arm/mariadb-12.1/bin/* /usr/local/mariadb-12.1/bin/; \
|
||||
fi && \
|
||||
rm -rf /tmp/mariadb-x64 /tmp/mariadb-arm && \
|
||||
chmod +x /usr/local/mariadb-*/bin/*
|
||||
|
||||
# ========= Install MongoDB Database Tools =========
|
||||
# Note: MongoDB Database Tools are backward compatible - single version supports all server versions (4.0-8.0)
|
||||
# Use dpkg with apt-get -f install to handle dependencies
|
||||
RUN apt-get update && \
|
||||
if [ "$TARGETARCH" = "amd64" ]; then \
|
||||
wget -q https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian12-x86_64-100.10.0.deb -O /tmp/mongodb-database-tools.deb; \
|
||||
elif [ "$TARGETARCH" = "arm64" ]; then \
|
||||
wget -q https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian12-aarch64-100.10.0.deb -O /tmp/mongodb-database-tools.deb; \
|
||||
fi && \
|
||||
dpkg -i /tmp/mongodb-database-tools.deb || true && \
|
||||
apt-get install -f -y --no-install-recommends && \
|
||||
rm /tmp/mongodb-database-tools.deb && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump && \
|
||||
ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore
|
||||
|
||||
# Create postgres user and set up directories
|
||||
RUN useradd -m -s /bin/bash postgres || true && \
|
||||
mkdir -p /postgresus-data/pgdata && \
|
||||
|
||||
46
README.md
46
README.md
@@ -1,18 +1,22 @@
|
||||
<div align="center">
|
||||
<img src="assets/logo.svg" style="margin-bottom: 20px;" alt="Postgresus Logo" width="250"/>
|
||||
|
||||
<h3>PostgreSQL backup</h3>
|
||||
<p>Free, open source and self-hosted solution for automated PostgreSQL backups. With multiple storage options and notifications</p>
|
||||
<h3>Databases backup tool for PostgreSQL, MySQL and MongoDB</h3>
|
||||
<p>Postgresus is a free, open source and self-hosted tool to backup databases. Make backups with different storages (S3, Google Drive, FTP, etc.) and notifications about progress (Slack, Discord, Telegram, etc.)</p>
|
||||
|
||||
<!-- Badges -->
|
||||
[](https://www.postgresql.org/)
|
||||
[](https://www.mysql.com/)
|
||||
[](https://mariadb.org/)
|
||||
[](https://www.mongodb.com/)
|
||||
<br />
|
||||
[](LICENSE)
|
||||
[](https://hub.docker.com/r/rostislavdugin/postgresus)
|
||||
[](https://github.com/RostislavDugin/postgresus)
|
||||
|
||||
[](https://www.postgresql.org/)
|
||||
[](https://github.com/RostislavDugin/postgresus)
|
||||
[](https://github.com/RostislavDugin/postgresus)
|
||||
|
||||
|
||||
|
||||
<p>
|
||||
<a href="#-features">Features</a> •
|
||||
<a href="#-installation">Installation</a> •
|
||||
@@ -36,6 +40,13 @@
|
||||
|
||||
## ✨ Features
|
||||
|
||||
### 💾 **Supported databases**
|
||||
|
||||
- **PostgreSQL**: 12, 13, 14, 15, 16, 17 and 18
|
||||
- **MySQL**: 5.7, 8 and 9
|
||||
- **MariaDB**: 10 and 11
|
||||
- **MongoDB**: 4, 5, 6, 7 and 8
|
||||
|
||||
### 🔄 **Scheduled backups**
|
||||
|
||||
- **Flexible scheduling**: hourly, daily, weekly, monthly or cron
|
||||
@@ -54,18 +65,12 @@
|
||||
- **Real-time updates**: Success and failure notifications
|
||||
- **Team integration**: Perfect for DevOps workflows
|
||||
|
||||
### 🐘 **PostgreSQL support**
|
||||
|
||||
- **Multiple versions**: PostgreSQL 12, 13, 14, 15, 16, 17 and 18
|
||||
- **SSL support**: Secure connections available
|
||||
- **Easy restoration**: One-click restore from any backup
|
||||
|
||||
### 🔒 **Enterprise-grade security** <a href="https://postgresus.com/security">(docs)</a>
|
||||
|
||||
- **AES-256-GCM encryption**: Enterprise-grade protection for backup files
|
||||
- **Zero-trust storage**: Backups are encrypted and they are useless to attackers, so you can keep them in shared storages like S3, Azure Blob Storage, etc.
|
||||
- **Zero-trust storage**: Backups are encrypted and remain useless to attackers, so you can safely store them in shared storage like S3, Azure Blob Storage, etc.
|
||||
- **Encryption for secrets**: Any sensitive data is encrypted and never exposed, even in logs or error messages
|
||||
- **Read-only user**: Postgresus uses by default a read-only user for backups and never stores anything that can change your data
|
||||
- **Read-only user**: Postgresus uses a read-only user by default for backups and never stores anything that can modify your data
|
||||
|
||||
### 👥 **Suitable for teams** <a href="https://postgresus.com/access-management">(docs)</a>
|
||||
|
||||
@@ -86,7 +91,7 @@ Postgresus works seamlessly with both self-hosted PostgreSQL and cloud-managed d
|
||||
|
||||
- **Cloud support**: AWS RDS, Google Cloud SQL, Azure Database for PostgreSQL
|
||||
- **Self-hosted**: Any PostgreSQL instance you manage yourself
|
||||
- **Why no PITR?**: Cloud providers already offer native PITR, and external PITR backups cannot be restored to managed cloud databases — making them impractical for cloud-hosted PostgreSQL
|
||||
- **Why no PITR support?**: Cloud providers already offer native PITR, and external PITR backups cannot be restored to managed cloud databases — making them impractical for cloud-hosted PostgreSQL
|
||||
- **Practical granularity**: Hourly and daily backups are sufficient for 99% of projects without the operational complexity of WAL archiving
|
||||
|
||||
### 🐳 **Self-hosted & secure**
|
||||
@@ -97,11 +102,12 @@ Postgresus works seamlessly with both self-hosted PostgreSQL and cloud-managed d
|
||||
|
||||
### 📦 Installation <a href="https://postgresus.com/installation">(docs)</a>
|
||||
|
||||
You have several ways to install Postgresus:
|
||||
You have four ways to install Postgresus:
|
||||
|
||||
- Script (recommended)
|
||||
- Automated script (recommended)
|
||||
- Simple Docker run
|
||||
- Docker Compose setup
|
||||
- Kubernetes with Helm
|
||||
|
||||
<img src="assets/healthchecks.svg" alt="Postgresus Dashboard" width="800"/>
|
||||
|
||||
@@ -127,7 +133,7 @@ sudo curl -sSL https://raw.githubusercontent.com/RostislavDugin/postgresus/refs/
|
||||
|
||||
### Option 2: Simple Docker run
|
||||
|
||||
The easiest way to run Postgresus with embedded PostgreSQL:
|
||||
The easiest way to run Postgresus:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
@@ -211,9 +217,9 @@ For more options (NodePort, TLS, HTTPRoute for Gateway API), see the [Helm chart
|
||||
## 🚀 Usage
|
||||
|
||||
1. **Access the dashboard**: Navigate to `http://localhost:4005`
|
||||
2. **Add first DB for backup**: Click "New Database" and follow the setup wizard
|
||||
2. **Add your first database for backup**: Click "New Database" and follow the setup wizard
|
||||
3. **Configure schedule**: Choose from hourly, daily, weekly, monthly or cron intervals
|
||||
4. **Set database connection**: Enter your PostgreSQL credentials and connection details
|
||||
4. **Set database connection**: Enter your database credentials and connection details
|
||||
5. **Choose storage**: Select where to store your backups (local, S3, Google Drive, etc.)
|
||||
6. **Add notifications** (optional): Configure email, Telegram, Slack, or webhook notifications
|
||||
7. **Save and start**: Postgresus will validate settings and begin the backup schedule
|
||||
@@ -238,4 +244,4 @@ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENS
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions are welcome! Read <a href="https://postgresus.com/contribute">contributing guide</a> for more details, priorities and rules are specified there. If you want to contribute, but don't know what and how - message me on Telegram [@rostislav_dugin](https://t.me/rostislav_dugin)
|
||||
Contributions are welcome! Read the <a href="https://postgresus.com/contribute">contributing guide</a> for more details, priorities and rules. If you want to contribute but don't know where to start, message me on Telegram [@rostislav_dugin](https://t.me/rostislav_dugin)
|
||||
|
||||
BIN
assets/tools/arm/mariadb/mariadb-10.6/bin/mariadb
Normal file
BIN
assets/tools/arm/mariadb/mariadb-10.6/bin/mariadb
Normal file
Binary file not shown.
BIN
assets/tools/arm/mariadb/mariadb-10.6/bin/mariadb-dump
Normal file
BIN
assets/tools/arm/mariadb/mariadb-10.6/bin/mariadb-dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/mariadb/mariadb-12.1/bin/mariadb
Normal file
BIN
assets/tools/arm/mariadb/mariadb-12.1/bin/mariadb
Normal file
Binary file not shown.
BIN
assets/tools/arm/mariadb/mariadb-12.1/bin/mariadb-dump
Normal file
BIN
assets/tools/arm/mariadb/mariadb-12.1/bin/mariadb-dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-8.0/bin/mysql
Normal file
BIN
assets/tools/arm/mysql/mysql-8.0/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-8.0/bin/mysqldump
Normal file
BIN
assets/tools/arm/mysql/mysql-8.0/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-8.4/bin/mysql
Normal file
BIN
assets/tools/arm/mysql/mysql-8.4/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-8.4/bin/mysqldump
Normal file
BIN
assets/tools/arm/mysql/mysql-8.4/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-9/bin/mysql
Normal file
BIN
assets/tools/arm/mysql/mysql-9/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/arm/mysql/mysql-9/bin/mysqldump
Normal file
BIN
assets/tools/arm/mysql/mysql-9/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-12/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-12/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-13/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-13/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-14/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-14/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-15/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-15/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-16/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-16/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-17/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-17/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/createdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/dropdb
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_dump
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_dumpall
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_restore
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/arm/postgresql/postgresql-18/bin/psql
Normal file
BIN
assets/tools/arm/postgresql/postgresql-18/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/mariadb/mariadb-10.6/bin/mariadb
Normal file
BIN
assets/tools/x64/mariadb/mariadb-10.6/bin/mariadb
Normal file
Binary file not shown.
BIN
assets/tools/x64/mariadb/mariadb-10.6/bin/mariadb-dump
Normal file
BIN
assets/tools/x64/mariadb/mariadb-10.6/bin/mariadb-dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/mariadb/mariadb-12.1/bin/mariadb
Normal file
BIN
assets/tools/x64/mariadb/mariadb-12.1/bin/mariadb
Normal file
Binary file not shown.
BIN
assets/tools/x64/mariadb/mariadb-12.1/bin/mariadb-dump
Normal file
BIN
assets/tools/x64/mariadb/mariadb-12.1/bin/mariadb-dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-5.7/bin/mysql
Normal file
BIN
assets/tools/x64/mysql/mysql-5.7/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-5.7/bin/mysqldump
Normal file
BIN
assets/tools/x64/mysql/mysql-5.7/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-8.0/bin/mysql
Normal file
BIN
assets/tools/x64/mysql/mysql-8.0/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-8.0/bin/mysqldump
Normal file
BIN
assets/tools/x64/mysql/mysql-8.0/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-8.4/bin/mysql
Normal file
BIN
assets/tools/x64/mysql/mysql-8.4/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-8.4/bin/mysqldump
Normal file
BIN
assets/tools/x64/mysql/mysql-8.4/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-9/bin/mysql
Normal file
BIN
assets/tools/x64/mysql/mysql-9/bin/mysql
Normal file
Binary file not shown.
BIN
assets/tools/x64/mysql/mysql-9/bin/mysqldump
Normal file
BIN
assets/tools/x64/mysql/mysql-9/bin/mysqldump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/dropdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_dump
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_dumpall
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_restore
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-12/bin/psql
Normal file
BIN
assets/tools/x64/postgresql/postgresql-12/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/dropdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_dump
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_dumpall
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_restore
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-13/bin/psql
Normal file
BIN
assets/tools/x64/postgresql/postgresql-13/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/dropdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_dump
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_dumpall
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_restore
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-14/bin/psql
Normal file
BIN
assets/tools/x64/postgresql/postgresql-14/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/dropdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_dump
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_dumpall
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_restore
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-15/bin/psql
Normal file
BIN
assets/tools/x64/postgresql/postgresql-15/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/createdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/dropdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/dropdb
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_dump
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_dump
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_dumpall
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_dumpall
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_restore
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/pg_restore
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-16/bin/psql
Normal file
BIN
assets/tools/x64/postgresql/postgresql-16/bin/psql
Normal file
Binary file not shown.
BIN
assets/tools/x64/postgresql/postgresql-17/bin/createdb
Normal file
BIN
assets/tools/x64/postgresql/postgresql-17/bin/createdb
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user