PostgreSQL入門:特徴と基本操作
PostgreSQL(ポスグレ)は、オブジェクトリレーショナルデータベース管理システムの一つであり、現在では略して「PG」と呼ばれることが多い。本稿では、PGの基本的な特徴と実用的な操作方法について解説する。
他のDBとの比較
PGを検討する前に、商用データベース市場の主要プレイヤーについて触れておく必要がある。
Oracle Database
市場シェア第一位を誇る商用デー ...
5月27日 00:48 投稿
PostgreSQLのトリガーとインデックスの基本
PostgreSQLのトリガーは、特定のデータベースイベントが発生した際に自動的に実行されるコールバック関数です。
以下はPostgreSQLトリガーに関する重要なポイントです:
トリガーは以下のタイミングで動作します:
操作前(制約チェックおよび挿入、更新、削除試行前)。
操作後(制約チェックおよび挿入、更新、削除完了後)。
更新操作(ビューに対する挿入、更新、削除 ...
5月25日 16:57 投稿
クラッシュから安定まで:Seata分散トランザクションの3つのデータベース適応実践ガイド
SeataはApacheのオープンソース分散トランザクションソリューションとして、AT(Automatic Transaction)モードを通じて非侵入型トランザクション管理を実現します。その核心はデータベーストランザクションログテーブルに依存し、グローバルトランザクション状態を記録します。現在、公式はMySQL、PostgreSQL、Oracleなどの主要なデータベースのサポートを提供しています ...
5月25日 06:57 投稿
PostgreSQL入門:オブジェクト指向の設計思想とカタログテーブルの活用
PostgreSQLとは
PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システム(ORDBMS)です。単なるリレーショナルデータベースにとどまらず、オブジェクト指向の設計思想を取り入れており、データベース内部の構造をより柔軟かつ拡張性高く構築できます。
PostgreSQLの特徴
オープンソース
豊富なデータ型(JSON、幾何データ型、ユーザ定義型 ...
5月24日 02:06 投稿
PostgreSQLの主な機能と使い方
1. 型変換
PostgreSQLでは、::演算子を使用して値を特定の型に変換できます。たとえば、計算結果をnumeric型に変換するには以下のようにします:
( ... )::numeric(10, 2) -- 総桁数10、小数点以下2桁に変換
この例では、括弧内の計算結果を小数点以下2桁のnumeric型に変換しています。
2. COALESCE関数
COALESCE()関数は、複数の引数から最初のNULLでない値を返します。 ...
5月22日 16:38 投稿
PostgreSQLでのベクトル検索の実践ガイド
PostgreSQLは拡張機能pgvectorを活用することで、高次元ベクトルデータの保存と類似度検索が可能になります。機械学習や自然言語処理、レコメンデーションエンジンなど、ベクトル空間モデルを必要とするアプリケーションに最適です。
拡張のインストールと初期設定
CREATE EXTENSION IF NOT EXISTS vector;
ベクトルカラムを持つテーブルの定義
CREATE TABLE catalog (
...
5月20日 22:06 投稿
PostgreSQL データ同期の実装手法:レプリケーションと CDC
PostgreSQL におけるデータ同期戦略
PostgreSQL 環境において、データの一貫性を保ちながら複数ノード間で情報を共有するには、用途に応じた同期メカニズムの選定が不可欠です。主に物理層での複製、論理層での变更転送、外部ミドルウェアの活用、およびバッチ処理の 4 つのアプローチが存在します。選定の際は、遅延許容度、プラットフォームの異種性、および運用コストを ...
5月20日 16:47 投稿
LightDBにおけるグローバル一時テーブルの実装メカニズム
概要
グローバル一時テーブル(Global Temporary Table)はデータベースにおける特殊なテーブルタイプであり、特定のセッションに依存せずに作成され、複数のセッションで共有・アクセスできます。グローバル一時テーブルのデータは現在のデータベースセッションのライフサイクル内でのみ表示され、セッション終了時に自動的に破棄されます。
グローバル一時テーブルは通常 ...
5月18日 14:57 投稿
関数候補選定アルゴリズムの解析と動作確認
環境構築と関数定義
LightDBのorafce拡張機能において、以下のSQLを実行します。
CREATE DOMAIN oracle.clob AS TEXT;
-- バージョン1
CREATE FUNCTION oracle.btrim(text, text)
RETURNS text
AS 'btrim'
LANGUAGE internal STRICT IMMUTABLE;
-- バージョン2
CREATE FUNCTION oracle.btrim(text, char)
RETURNS text
AS 'btrim'
LANGUAGE internal STRICT IMMUTABLE;
...
5月16日 09:05 投稿
Oracleのstored procedureをPostgreSQLに移行する
PostgreSQLへの接続
psql -h 192.168.137.131 -p 5432 postgres sa
tusc@6789#JKL
ユーザー作成
CREATE USER name thunisoft createdb; --(等価: CREATE ROLE name LOGIN createdb);
データベース作成
create database test_database owner = thunisoft;
ヘルプの表示 psqlで「help」と入力
[thunisoft@localhost ~]$ psql test_database
psql (9.3.6)
Type &quo ...
5月13日 04:22 投稿