Bash の組み込みコマンドと外部コマンド

Bash には cd のように Bash 自体に組み込まれているコマンドがあります。 組み込みコマンドか外部コマンドかは type というコマンドで確認できます。

$ type cd
cd is a shell builtin

組み込みコマンドは "builtin" と出力されます。

$ type ftp
ftp is /usr/bin/ftp

外部コマンドは パスが出力されます。

$ type ls
ls is aliased to `ls --color=auto'

エイリアスはこのように出力されます。

エイリアス元を調べるには "-a" オプションを付けます。

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

type コマンドも Bash の組み込みコマンドです。

$ type -t type
builtin

PHP の配列の結合

次のような 2 つの配列があります。 キー "a" がどちらの配列にもあります。

$array1 = array('a' => 1, 'b' => 2);
$array2 = array('a' => 5, 'c' => 6);

この 2 つの配列を結合するのですが、 + 演算子と array_merge() 関数で キー "a" の値を上書きするかどうかを使い分けることができます。

まず + 演算子を使ってみます。

print_r($array1 + $array2);
Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)

キー "a" は、1 のままです。

次に array_merge() 関数。

print_r(array_merge($array1, $array2));
Array
(
    [a] => 5
    [b] => 2
    [c] => 6
)

キー "a" は、5 で上書きされました。

このように + 演算子では上書きせず、 array_merge() 関数では上書きします。

PostgreSQL で 特定の列を含むテーブル一覧を取得する SQL

以下の SQL の 'xxxxx' の部分を列名に変更します。

SELECT schemas.nspname AS schema_name
     , tables.relname AS table_name
FROM pg_attribute AS colmuns
INNER JOIN pg_class AS tables
  ON colmuns.attrelid = tables.oid
INNER JOIN pg_namespace AS schemas
  ON tables.relnamespace = schemas.oid
WHERE colmuns.attname = 'xxxxx'
ORDER BY schema_name, table_name

PostgreSQL で 順序( sequence )の値を設定する

テーブルを再作成したときなど、テーブルに serial の列がある場合 既存の番号と重ならないように順序( sequence )の現在の値を設定する必要があります。

順序の現在の値を設定するには次の setval() を使用します。

# SELECT setval('順序名', 3, true);

設定した値を確認するには currval() を使用します。

# SELECT currval('順序名');

ただし、currval() は setval() か nextval() をしたセッション内でしか 使用できません。

お知らせ

ようやくデータを復旧させることができました。

Google サイト内検索

Amazonアソシエイト