Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cu 86c060qpp documentation add prerequisites python for backup and restore #317

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions documentation/backup-and-restore.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,23 @@ b. Get the list of Golden Record Source Ids \
c. Get the list of interactions \
d. Write the data to file (JSON)

## Prerequisites
- PostgreSQL Version: Ensure that PostgreSQL 15.5.0 is installed.
- The backup and restore operations are validated on this version.
Verify the installation by running psql --version

**Python Installation**
- Make sure Python and the python-dotenv package are installed to manage environment variables.
- Verify the installation by running python3 -m dotenv --version

**Using python-dotenv**
Load these variables using python-dotenv:
- from dotenv import load_dotenv
- import os
- load_dotenv(/path/to/your/.env)
- print(os.getenv(environment variable name))
- python3 test_dotenv.py (This should load the environment variables from your .env.local file)
Comment on lines +34 to +40
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify the usage of environment variables with python-dotenv.

The instructions for using python-dotenv to manage environment variables are a great addition, but they could be clearer:

  • The path in the load_dotenv function should be generic or clearly marked as an example.
  • The placeholder environment variable name in the print function should be replaced with a specific example or further explained.
  • The command python3 test_dotenv.py is mentioned without context. Providing the contents of test_dotenv.py or explaining what this script does would be helpful for users.


Comment on lines +25 to +41
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add detailed instructions for verifying Python and python-dotenv installations.

The "Prerequisites" section is crucial for ensuring that users have the correct setup before proceeding with backup and restore operations. The instructions for verifying PostgreSQL and Python installations are clear. However, the section could benefit from more detailed steps or commands for verifying the python-dotenv installation, especially for users who may not be familiar with Python packages.

Consider adding examples of expected outputs for the verification commands to help users confirm that their installations are correct.

Tools
Markdownlint

30-30: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

## Backup Dgraph and Postgres Process
- **Backup Directory Dgraph:** \
JeMPI/devops/linux/docker/docker_data/data/backups/dgraph
Expand All @@ -44,6 +61,14 @@ The backup process creates a folder with a timestamp. Inside this folder, backup

![Backup Postgres and Dgraph](../.gitbook/assets/14)

**Manual Backup Process**

- pg_dump -U <username> -d <database_name> > /path/to/backup_file.sql

**Verify if process was successful**
- echo $? (This variable holds the exit status of the last command executed. An exit status of 0 indicates that the last command (pg_dump) completed successfully.)
- ls -lh

Comment on lines +64 to +71
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enhance the "Manual Backup Process" and verification sections.

The "Manual Backup Process" section provides a basic command for performing a manual backup using pg_dump. However, it lacks detailed explanations or considerations for different scenarios (e.g., handling large databases, security considerations for credentials). Additionally, the verification process could include more robust methods for checking the success of the backup, such as verifying the integrity of the backup file.

Consider expanding these sections to provide more comprehensive guidance, which could include:

  • Security best practices for handling database credentials.
  • Steps for verifying the integrity of the backup file, not just the exit status.
Tools
Markdownlint

64-64: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


68-68: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

## Restore Dgraph and Postgres Process

- **Backup Directory:** JeMPI/devops/linux/docker/docker_data/data/backups/dgraph
Expand Down
Loading