Skip to main content

Using Google Service Account with Epic Backup

· 2 min read
Mahmudur Rahman
Founder of EpicLabs23

To create a Google Service Account and use it for Google Drive API, follow these steps:


Step 1: Create a Google Cloud Project

  1. Go to the Google Cloud Console.
  2. Click on the project drop-down at the top and select "New Project".
  3. Enter a project name (e.g., Drive API Project).
  4. Click "Create" and wait for the project to be created.

Step 2: Enable Google Drive API

  1. Inside the Google Cloud Console, go to "APIs & Services" > "Library".
  2. Search for Google Drive API and click on it.
  3. Click "Enable".

Step 3: Create a Service Account

  1. Go to "IAM & Admin" > "Service Accounts".
  2. Click "Create Service Account".
  3. Enter a Service Account Name (e.g., drive-api-service).
  4. Click "Create and Continue".
  5. Assign the role "Editor" or "Owner" (or select "Cloud Storage Admin" if needed).
  6. Click "Continue", then "Done".

WordPress Security Best Practices

· 4 min read
Mahmudur Rahman
Founder of EpicLabs23

WordPress sites are often targeted by attackers, especially on shared hosting environments. To ensure the security of the WordPress managed hosting offering in your shared hosting solution, here are best practices and recommendations for protecting the hosted WordPress sites:

PostgreSQL ACL Item

· 2 min read
Mahmudur Rahman
Founder of EpicLabs23

In PostgreSQL, aclitem is a specialized data type used internally to represent access control lists (ACLs) for database objects, such as tables, views, sequences, functions, and schemas. It defines who (roles or users) has specific privileges on a database object.

Although it's not commonly used directly in application-level development, it's stored in PostgreSQL system catalogs like pg_class, pg_proc, and pg_namespace to manage permissions.

PostgreSQL Data Types

· 3 min read
Mahmudur Rahman
Founder of EpicLabs23

PostgreSQL offers a wide range of data types that can be broadly categorized as follows:


1. Numeric Types

  • Small Integer: SMALLINT (2 bytes, range: -32,768 to +32,767)
  • Integer: INTEGER or INT (4 bytes, range: -2,147,483,648 to +2,147,483,647)
  • Big Integer: BIGINT (8 bytes, range: -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807)
  • Decimal/Numeric: DECIMAL(p, s) or NUMERIC(p, s) (User-defined precision)
  • Real: REAL (4 bytes, single-precision floating-point)
  • Double Precision: DOUBLE PRECISION (8 bytes, double-precision floating-point)
  • Serial: SERIAL, BIGSERIAL, SMALLSERIAL (Auto-incrementing integers)

PostgreSQL Unique Constraints

· 3 min read
Mahmudur Rahman
Founder of EpicLabs23

In PostgreSQL, a unique constraint ensures that the values in one or more columns of a table are unique across all rows. This means that no two rows in the table can have the same value(s) for the specified column(s). It's a common feature used to enforce data integrity and ensure that duplicate data cannot be stored.


How It Works

  • A unique constraint creates an implicit index on the column(s) it is applied to. This index is used to enforce the uniqueness of the values.
  • A unique constraint can be defined on a single column or a combination of multiple columns.

Key Characteristics

  1. Single-Column Uniqueness: Ensures that no two rows have the same value in a single column.
    CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    email VARCHAR(255) UNIQUE
    );
    In this example:
    • The email column must have unique values.