Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

PostgreSQL 9.6

関数実行時にnextval(sequence)がエラーとなる。

概要 PL/pgSQLの関数を実行しようとした際に発生するエラーについて。 環境は PostgreSQL 9.6 です。 エラー内容 ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use PERFORM instead. CONTEXT: P…

PostgreSQLのUPDATE文でWITH句とFROM句が使えることにびっくりした。

概要 タイトルの通りなのですが、PostgreSQLではUPDATE文でWITH句とFROM句が使える模様。 Oracleでは無理だと思います。 環境は PostgreSQL 9.6 です。 実践 WITH with_table AS (SELECT 1 AS no) UPDATE update_table SET update_data = 'xxx' FROM with_ta…

PostgreSQLでテーブルの制約を確認する。

概要 前回(PostgreSQLでテーブルの定義を確認する。 - Tihiroの頭を休めるIT教室)はPostgreSQLでテーブル定義を確認する、ということでした。 今回は、テーブルの制約を確認したいと思います。 例によって環境は PostgreSQL9.6 です。

PostgreSQLでテーブルの定義を確認する。

概要 タイトルの通りなのですが、PostgreSQLでテーブルの定義を確認する方法です。 要するにOracleでいうDESCコマンドみたいなのを実行したいわけなんです。 主キー(プライマリーキー)とか確認したい場合は↓で。 PostgreSQLでテーブルの制約を確認する。 -…

CREATE EXTENSION dblinkに失敗するので解決した。

概要 タイトルの通り CREATE EXTENSION dblink; の実行が ERROR: could not access file "$libdir/dblink": No such file or directory みたいなエラーで失敗する。ときの解決方法です。 環境は PostgreSQL9.6.3 CentOS7 です。

PostgreSQLで実行中のSQLを確認する方法について。

概要 タイトルの通り、PostgreSQLで実行中のSQLを確認する方法についてです。 SELECT文を使って、実行中のSQLと状態を確認してみます。 対象はPostgreSQL9.6です。

PostgreSQLのデッドロックについて。

概要 PostgreSQLのデッドロックについての解説記事です。 行レベルロック、テーブルレベルロックと解説しましたので、ついでというわけではないですがデッドロックについても少しだけ。 検証したバージョンはPostgreSQL9.6.3です。

PostgreSQLのテーブルレベルロックについて

概要 PostgreSQL 9.6のお話です。 前回の行レベルロックの解説(PostgreSQLの行レベルロックについて) に引き続き、テーブルレベルロック(表レベルロック)についてのお話です。 ロックの使い方を間違えるとデッドロック多発なんてことになりますので、しっ…

PostgreSQLの行レベルロックについて

記事の概要 PostgreSQL 9.6のお話です。 PostgreSQLでは(でも?)テーブル内のデータへの同時アクセスを制御するため、テーブルレベルロック(表レベルロック)と行レベルロックという仕組みがあります。 今回は、行レベルロックについて確認したことを解説…

PostgreSQLのテーブルに対応するデータファイルパスをSELECT文で確認する方法について

記事の概要 PostgreSQL 9.6のお話です。 現在のデータベース内に存在するテーブルのデータファイルがどこに格納されているかを確認する方法を解説します。 残念ながら全てのデータベース内のテーブルに対する方法は見つけきれませんでした。

PostgreSQLのデータベースクラスタ(ファイルやディレクトリ)のお話し

記事の概要 PostgreSQLのデータファイルや、自動的に作成されるディレクトリの解説です。 要は、PostgreSQLの「データベースクラスタ」と呼ばれるものについての解説です。 利用バージョンはPostgreSQL 9.6.3。 「データベースクラスタ」以外の解説について…