ときたま、既存のPostgreSQL環境でテーブルやビューの作成時のSQLを確認することがある。 MySQLとかだと「SHOW CREATE ~」で確認できるのだけど、PostgreSQLでテーブル定義文を確認する場合はSQLからは確認ができず、pg_dumpでバックアップデータを取得してCREATE TABLEを抽出することで対応する。

pg_dump DB名 -s -t テーブル名 | awk '/^CREATE TABLE/,/^)/'
-bash-4.2$ pg_dump test_db -s -t test_table --schema-only | awk '/^CRE...

集計結果で数字を見る際に桁数がよくわからないことが会ったので、SQLで集計出力時に3桁ごとにカンマ区切りで見やすく表示させる対応をしたので備忘で残しておく。 各DBごとにSQLの記述が異なるのでひとまずよく使用されるMariaDB、PostgreSQL、OracleDB、SQL Serverごとで調べてみることにした。

1. MySQL/MariaDBの場合

MySQL/MariaDBの場合、対象のカラムをformat()で指定することで桁区切りが行える。

select format(1234567,0);
MariaDB [test]> select format(12345...

動作しているPostgreSQLのバージョンを調べるには、以下の方法がある。

1.コンソール上から確認する

コンソール上からのバージョン確認は、以下のコマンドで行える。

/usr/pgsql-*/bin/pg_config --version
/usr/pgsql-*/bin/postgres -V
-bash-4.2$ /usr/pgsql-*/bin/pg_config --version
PostgreSQL 9.4.8
-bash-4.2$ /usr/pgsql-*/bin/postgres -V
postgres (PostgreSQL) 9.4.8

...

PostgreSQLでデータベースごとの容量を確認する

仕事で、データベースのバックアップスクリプトの実行時間、負荷の関係からPostgreSQLでデータベースごとのファイル容量を調べる事があったので、念のため残しておく。
PostgreSQLでは、データベースごとの容量を調べる方法として幾つかの方法が用意されている。

1.「\l+」コマンドで確認する

一番カンタンな確認の仕方が、psqlで用意されている「\l+」コマンドの実行だろう。
通常、「\l」でデータベースの一覧が表示されるのだが、これに+を付け足すとデータベースサイズなどの情報も出力させることが出来る。


そろそろデータベース、できればOSSのものを扱えるようになりたいなぁ…と思ったので、CentOS 7 にPostgreSQLを入れてみることにした。 今回は、とりあえずインストールとサービスの起動までを行う。

1.インストール

まずはインストールから。 yumを利用出来る環境なのであれば、以下のようにコマンドを実行することでPostgreSQLリポジトリの追加、パッケージのインストール出来る。

●PostgreSQL 9.4の場合

yum install http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-redhat...