Instiq

OSS-DB SilverStudy guide

OSS-DB Silver (LPI-Japan): foundational PostgreSQL operations and SQL skills (Ver3.0, PostgreSQL 12+).

About OSS-DB Silver (OSS-DB Silver)

OSS-DB Silver (OSS-DB Silver) is a Associate-level certification from LPI-Japan. This page organizes the exam scope into a 3-chapter, 11-section study guide and lets you check your understanding with exam-style practice questions. A good flow is to read the chapters below in order, then test yourself via "Practice questions."

Exam domains (approximate weighting)

  • General knowledge~16%
  • Operations management~52%
  • Development / SQL~32%

Weights are approximate guidance for the live exam. Each domain is covered in detail in the chapters and sections below.

Official exam information: https://oss-db.jp/outline/silver

1General knowledge

  • 1.1General Characteristics of OSS-DB

    Survey the full feature set of PostgreSQL, the nature of OSS (open source software) and the PostgreSQL license, and how the community operates and how to participate in it. Also cover the distinction between major version and minor version, the roughly annual release cycle, the support policy (updates for five years), and how to submit a bug report to the community.

  • 1.2General Knowledge of Relational Databases

    Organize the basic concepts of the relational data model (tables, rows, columns, primary keys, foreign keys) and the role a DBMS plays. Cover general knowledge of SQL, and its three-way classification by purpose: DDL (data definition language), DML (data manipulation language), and DCL (data control language). Also cover the idea of normalization in database design.

2Operations management

  • 2.1Installation and the Database Cluster

    Learn initdb, the very first step in getting PostgreSQL running, and the concept and structure of the database cluster it creates. We also cover the two template databases automatically generated at cluster creation, template0 and template1, and how their roles differ.

  • 2.2Standard Bundled Tools

    Learn the commands bundled standard with PostgreSQL: pg_ctl for starting, stopping, and reloading the server; createuser/dropuser for role management; createdb/dropdb for database management; the psql interactive terminal; pg_config for build information; pg_controldata for cluster control information; pg_isready for checking server liveness; pg_resetwal for resetting the WAL; and psql's meta-commands (\d, \l, \dt, \du, \c, \?, \h, \timing).

  • 2.3Configuration Files

    Learn postgresql.conf, which governs overall server behavior (syntax, units, include; connection and authentication settings listen_addresses/port/max_connections; logging settings logging_collector/log_destination), pg_hba.conf, which defines per-client authentication methods (trust, md5, scram-sha-256, peer, and the significance of line order), and SET/SHOW for inspecting and changing values at runtime.

  • 2.4Backup and Point-in-Time Recovery

    Learn PostgreSQL backup methods systematically: SQL-level pg_dump/pg_dumpall/pg_restore, filesystem-level backup, the concept of PITR (point-in-time recovery), WAL (write-ahead log) and WAL archiving (archive_command), the non-exclusive low-level backup approach, and data import/export via SQL COPY and psql's \copy.

  • 2.5Basic Operations Management

    Learn server start/stop, CREATE/ALTER/DROP for database roles/users (ROLE/USER), VACUUM/ANALYZE for managing table bloat and statistics, autovacuum which automates them, system information functions that report server state, the metadata sources information_schema and pg_catalog (the system catalog), and GRANT/REVOKE for privilege management.

3Development / SQL

  • 3.1SQL Queries (SELECT, JOIN, Subqueries, Set Operations, DML)

    Learn the clauses of the SELECT statement (WHERE, ORDER BY, GROUP BY, HAVING, DISTINCT, LIMIT, OFFSET), combining tables with JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN), embedding queries with subqueries, combining result sets with UNION/INTERSECT/EXCEPT, and modifying data with INSERT/UPDATE/DELETE.

  • 3.2Data Definition and Database Objects (Data Types, Constraints, Indexes, Views, etc.)

    Learn to design and alter tables with CREATE TABLE/ALTER TABLE/DROP TABLE, key data types (INTEGER/BIGINT/NUMERIC/VARCHAR/TEXT/BOOLEAN/DATE/TIMESTAMP/JSON/JSONB), integrity constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL), search-accelerating indexes, views/materialized views, triggers, sequences, schemas, tablespaces, partitioning, functions via PL/pgSQL, and the basics of streaming/logical replication.

  • 3.3Built-in Functions (Aggregate, String, and Date/Time)

    Learn to summarize multiple rows into one value with aggregate functions (count, sum, avg, max, min), compute with arithmetic functions/operators, manipulate strings with string functions (char_length, length, lower, upper, substring, replace, trim, the || concatenation operator, the LIKE predicate), and handle dates/times with date/time functions (age, now, current_date, current_timestamp, extract, to_char).

  • 3.4Transaction Concepts (Isolation Levels and Locking)

    Learn how transactions bundle multiple SQL statements into one unit of work (BEGIN, COMMIT, ROLLBACK), how isolation levels (READ COMMITTED, REPEATABLE READ, SERIALIZABLE) control what concurrent transactions can see, explicit locking with the LOCK statement, the difference between row locks and table locks, and deadlocks where multiple transactions wait on each other forever.