Tihiroの頭を休めるIT教室

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

PostgreSQL 10

PostgreSQLでログイン中のユーザーを切り替える。

概要 PostgreSQLで、例えばparentという名前のユーザー(ロール?)でログインしている最中に、childというユーザーに切り替えたい。 環境 PostgreSQL 10.3 ※そろそろ10.5にしたい。 変更 SET ROLE child でOK。 確認 SELECT CURRENT_USER; で確認。 使い所 …

リモートホスト上に稼働しているPostgreSQLに対してpg_dumpする。

したいこと リモートホストのPostgreSQLからデータを引っこ抜きたい。 環境 PostgreSQL 10.3 コマンド 自端末から pg_dump -h xxx.xxx.xxx.xxx -U user_name -d database_name > output_dir でOK。-hにリモートホストのIPアドレスを指定する。 ちなみに-Fcオ…

PostgreSQLでUpdateした結果を確認したい。

概要 タイトルの通り、PostgreSQLでUpdate文を実行した結果を確認したいときのお話です。UPDATE文にRETURNING句を追加することで確認できます。 環境 PostgreSQL 10.3 コード UPDATE test_table SET col_a = 10 WHERE col_key = 999 RETURNING *; ※ RETURNIN…

cache lookup failed for relation xxxxでPostgreSQLが起動しない。

概要 PostgreSQLを起動させようと思ったら [5552] FATAL: cache lookup failed for relation 6100 みたいなエラーがでて起動しない。悲しい。 環境 PostgreSQL 10.3 あっ、これOSS-DBでやったやつだ! シングルユーザーモードで起動する。 postgres --single…

PostgreSQLでテーブル名から実ファイルのパスを特定したい。

概要 タイトルの通りなのですが、テーブル名から実ファイルのパスを確認したいときとかってありますよね。知的好奇心を満たしたいときとか。そんなときにはpg_relation_filepath関数を使うわけであります。 環境 PostgreSQL 10.3 やってみる SELECT pg_relat…

PostgreSQLでテーブルサイズを確認する。

概要 PostgreSQLですとテーブルにサイズ制限をかけれなかったりします。なので、あまり肥大化しないようにチェックしておく必要があります。AUTOVACUUMがあるから安全だぜ、って考えでもまぁアリっちゃアリなのかもしれません。 確認コマンド メタコマンドに…

テーブルごとにAUTO_VACUUMおよびAUTO_ANALYZEをする閾値を設定する。

概要 PostgreSQLではautovacuumとかautoanalyzeについて、決められた閾値を超えた場合に実行されるという仕組みになっています。 その閾値をテーブルごとに設定してみましょう。というお話です。 確認したのは PostgreSQL 10.3 です。 閾値と計算式 autovacu…

PostgreSQLをソースコードからビルドとインストール。

概要 PostgreSQLをデバッグしたくなったので、ソースコードからビルドしてインストールして起動してみた。 第17章 Windowsにおけるソースコードからのインストール ↑を参考にした。 環境 PostgreSQL 10.3 Windows 7 VisualStudioExpress 2017 Active State P…

psqlでCTRL+CするとPostgreSQLが落ちる。

概要 psqlで接続中のPostgreSQLから抜けようと、CTRL+CしたらPostgreSQLごと終了した。 環境 PostgreSQL 10.3 Windows7 SP1 内容 ERROR: canceling statement due to user request LOG: received fast shutdown request LOG: aborting any active transactio…

PG_MODULE_MAGICを記述しているのにPG_MODULE_MAGICが見つからない。というエラー。

概要 PostgreSQLの拡張ライブラリを自作した時のお話。 Cプログラムのソース内に「PG_MODULE_MAGIC」を記述しているのに、記述が見つからないとエラーが出る。 環境 PostgreSQL 10.3 内容 PostgreSQLサーバー起動時に サーバの起動完了を待っています.... FA…