2016/06/26

オブジェクトの名称はすべて小文字にしておくこと - Postgresql

"Postgresqlでは、オブジェクト(テーブル名、カラム名)の名称はすべて小文字にすること"
-理由

 DB内には、大文字・小文字で区別して登録される
 SQL内では、"(ダブルクォーテーション)で囲まれているとそのままの文字列だが、
 囲まれていないと小文字に変換される(らしい)
 結果、アンマッチがおきる


--------------------------------------------------------
testdb=> \d iris
                Table "public.iris"
    Column     |         Type          | Modifiers 
---------------+-----------------------+-----------
 Id            | integer               | not null
 SepalLengthCm | numeric(15,2)         | 
 SepalWidthCm  | numeric(15,2)         | 
 PetalLengthCm | numeric(15,2)         | 
 PetalWidthCm  | numeric(15,2)         | 
 Species       | character varying(20) | 
Indexes:
    "iris_pkey" PRIMARY KEY, btree ("Id")

testdb=> select * from iris where SepalLengthCm > 5.0; -> ダメ
ERROR:  列"sepallengthcm"は存在しません
LINE 1: select * from iris where SepalLengthCm > 5.0;
                                 ^
HINT:  Perhaps you meant to reference the column "iris.SepalLengthCm".
testdb=> select * from iris where "iris.SepalLengthCm" > 5.0;->ダメ
ERROR:  列"iris.SepalLengthCm"は存在しません
LINE 1: select * from iris where "iris.SepalLengthCm" > 5.0;
                                 ^
testdb=> select * from iris where "SepalLengthCm" > 5.0; -> OK
testdb=> select * from iris where iris."SepalLengthCm" > 5.0; -> OK

testdb=> 

雑多な1行コマンド&SQLメモ - Postgresql

メモ for Postgresql

‐Postgresql編




2016/06/25

Virtualbox上のUbuntu16.4にPostgresql 9.5をインストールする

MACのVirtualbox上のUbuntu16.4にPostgresql9.5をインストールする。
以下のSTEPをサーバー上で行う。(SSHでも可能)
#1# インストール
#2# Postgresqlを開始する
#3# postgresの初期パスワードを設定する
#4# postgres でログインして、DB作成と別userでもログインできるようにする

#5# クライアントからの接続を許可する


## pg_hba.confのセッティングについては、以下参考
-postgresqlのページ
https://www.postgresql.jp/document/9.5/html/auth-pg-hba-conf.html

2016/06/14

インターネットからの開発者サイトへのアクセスを禁止する - APEX

  • 状況
    インターネットからの開発者サイトへのアクセス時、ログイン画面が表示される。そのアクセスに対して、403エラーを返す。
    また、イントラ向けアプリとインターネット向けアプリが混在している場合、インターネットからのイントラ向けアプリへのアクセスに対して、403エラーを返す。

    以下の画面をインターネットから表示させない。
  • Solution
    mod_rewrite でコントロールする。

    (例) - APEX 4.2.x + OHS を想定
    開発者向け画面(アプリケーション番号は、四千番台:4xxx)と1で始まるアプリケーション番号(1xxx)へのインターネットからのアクセスを403リダイレクトする。

    1. HTTP 接続の場合 - httpd.conf ファイルに以下を追記する

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^p=1 [OR]
    RewriteCond %{QUERY_STRING} ^p=4
    RewriteRule ^(.*) - [F]


    2. HTTPS接続の場合 - ssl.conf ファイルのvirtualhost内に上記を追記する。
       (注) mod_osslが利用できるようになっていることを確認する。

    ssl.conf のサンプル

    変更後 のイメージ

buffer overflow. Use SET command to reduce ARRAYSIZE or increase MAXDATA.

  • 状況
    SQL*PLUS でSQL実行時に、エラーメッセージ”buffer overflow. Use SET command to reduce ARRAYSIZE or increase MAXDATA.”が表示される。

    環境 ー 古いんです (^^;

    SQL*Plus: Release 3.3.4.0.0 - Production on Mon Jun 13 10:56:36 2016

    Copyright (c) Oracle Corporation 1979, 1996.  All rights reserved.
    Connected to:
    Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.4.0 - Production

    SQL> select * from v$version;
    BANNER
    ----------------------------------------------------------------Oracle8i Enterprise Edition Release 8.1.7.4.0 - ProductionPL/SQL Release 8.1.7.4.0 - ProductionCORE    8.1.7.0.0       ProductionTNS for Solaris: Version 8.1.7.4.0 - ProductionNLSRTL Version 3.4.1.0.0 - Production

  • Solution

    SQL> SET ARRAYSIZE 1

    上記を実行の上、SQLを実行する。

2016/06/09

Data set サンプル - Kaggle

サンプル作成用のデータは、以下から取得

Kaggle - https://www.kaggle.com/


1. TITANIC - タイタニック号の乗客名簿

2. IRIS - アヤメのデータ

カラムの幅を固定する - インタラクティブレポート - APEX

  • Goal  (APEX 5.x 向け、4.xは別の方法)
    インタラクティブレポートにおいて、カラムの幅を固定する。
    改行して2行表示にならないようにする。

  • How
    1. インタラクティブリージョンに、静的IDを設定する


    2. 幅を変更したいカラムに、静的IDを設定する


    3. ページのCSS インラインに以下を追加する

  • To be
    以下のように拡がる


インタラクティブレポートのセルに画像/アイコンを入れる(リンク 無、動的アクション 無) - APEX

  • Goal
    インタラクティブレポートにおいて、セルの中身を画像に変更する。
    リンク 無し、動的アクション 無しで、単に画像が表示されるだけ。
    フィルターは文字列で検索ができる。
    (To be 例) 性別をアイコンで表示する。
        Icon by http://www.fatcow.com/free-icons

    フィルターはこんな感じ

  • As is

    変更前はこんな感じ

  • How
    0. 共有コンポーネント > 静的アプリケーションファイル に、アイコンをUPLOADする。
     その時に、ファイル名を項目の名前と一致させておく。
     この場合は、"male" と "female"。

    1. リージョン: インタラクティブレポート で 対象の列を選び、
     指定 > タイプ: リンク
     リンク > ターゲット: タイプ = "URL"
                                            URL = "#"
     リンクテキストを以下にする

     
  • Reference
    #全般
    Jari's APEX blog

    #データセット
    Titanic: Machine Learning From Disaster

    #アイコン
    フリーアイコン