#author("2020-05-26T00:42:08+00:00","default:admin","admin")
*ODBCドライバ [#j6db8c0d]
-[[Windows用 (msi):https://www.postgresql.org/ftp/odbc/versions/msi/]]
--一番下が最新

-[[psqlODBC (PostgreSQLむけODBCドライバ):https://www.sraoss.co.jp/tech-blog/pgsql/psqlodbc/]]

**インストール [#p095dd80]
-[[クライアント端末にODBCドライバをインストールする:https://www.projectgroup.info/documents/PostgreSQL/POS_000008.html]]
-!!! システム DSN に追加すべし !!!

**DSN [#vcfe1730]
-[[DSN (データ ソース名) とは何ですか。:https://support.microsoft.com/ja-jp/help/966849/what-is-a-dsn-data-source-name]]

-システム DSN
--システム全体で使用される DSN 
--プログラムが使用されているマシンでは、この DSN を作成しなければならない
--レジストリキー:HKEY_LOCAL_MACHINE\Software\Odbc\Odbc.ini\Odbc データ ソース

-ユーザー DSN
--特定のユーザー用に作成された DSN
--DSN を作成したユーザーのみ使用することができる
--レジストリキー:HKEY_CURRENT_USER\Software\Odbc\Odbc.ini\Odbc データ ソース

-ファイル DSN
--DSN を含むテキストをテキストファイルに格納
--データソースに接続するための情報をファイルに格納するので,ODBC.INIやレジストリから情報を取得しないで接続を確立できる

**ERROR [IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 [#nc3f1938]
-まずは「システム DSN」にドライバーを追加しているか確認
--プログラムが使用されているマシンでは「システム DSN」を作成しなければならない

-[[データ ソース名および指定された既定のドライバーが見つかりません:https://wsbs.wordpress.com/2016/12/07/%E3%83%87%E3%83%BC%E3%82%BF-%E3%82%BD%E3%83%BC%E3%82%B9%E5%90%8D%E3%81%8A%E3%82%88%E3%81%B3%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E6%97%A2%E5%AE%9A%E3%81%AE%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90/]]
-[[[Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトのドライバーが指定されていません:https://www.it-swarm.dev/ja/odbc/microsoft-odbc-driver-manager%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BD%E3%83%BC%E3%82%B9%E5%90%8D%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%9A%E3%80%81%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93/1073338620/]]


-[[PowerShellからPostgreSQLに接続時に既定のドライバーが見つからないと表示された:https://buralog.jp/postresql-odbc-connection-error/]]
--psqlodbc x64をアンインストールして、psqlodbc x86をインストールしなおしたら解決しました。
-[[windows 64bitのODBCドライバ:http://blog.syo-ko.com/?eid=223]]

**IISとの接続トラブル [#ddac486d]
-[[IISでODBC利用時のアクセス権限:http://prometa.seesaa.net/article/107793788.html]]
--レジストリ「HKLM \ SOFTWARE \ Microsoft \ ODBC \ ODBC.INI」に、IISの実行ユーザに対するアクセス許可を与える
---「ファイル名を指定して実行」で「regedit」を実行
---表示されたレジストリエディタのダイアログにて、ODBC.INIを右クリックし、「アクセス許可」を選択
---「ODBC.INIのアクセス許可」のダイアログが表示されるので、追加ボタンを押し、IISの実行ユーザを登録

-[[Windows2008に移行したらODBC接続が出来なくなった:https://asanono.hatenadiary.org/entry/20100728/1280311414]]

*VACUUM [#z48c9259]
-[[PostgreSQL VACUUM で年末大掃除:https://www.techscore.com/blog/2018/12/18/postgresql-vacuum%E3%81%A7%E5%B9%B4%E6%9C%AB%E5%A4%A7%E6%8E%83%E9%99%A4/]]

**AUTO VACUUM機能 [#bde57ce5]
-[[自動VACUUMの状況を確認する:https://qiita.com/mkyz08/items/ffc34c13510bd1c5adb1]]

-PostgreSQLには「AUTO VACUUM」機能が搭載されており、自動で随時VACUUMが実行されるため、多くの場合問題とならない
-テーブルによって追加・更新・削除の頻度、規模は様々であるため、AUTO VACUUM機能によるVACUUM実行のタイミングが適切でないケースが出てくる

**VACUUMに関する注意点 [#h0906007]
-VACUUM FULLはテーブルに排他ロックを必要とするうえ、処理に非常に長い時間を要する。そのため、VACUUM FULLの実行がサービス障害につながることもありえる。
-VACUUM FULLが必要とならないよう、普段から適切にVACUUMが実行されるようにAUTO VACUUMのパラメータ調整や、各テーブルのVACUUM実行状況の監視が大切

*パフォーマンスチューニング [#m884fd4d]
-[[第9回 パフォーマンス・チューニング(前編):https://oss-db.jp/dojo/dojo_info_09]]
-[[第10回 パフォーマンス・チューニング(後編):https://oss-db.jp/dojo/dojo_info_10]]

*インストール [#tea191b1]
**Windows [#m0369b6d]
-[[PostgreSQLのインストール方法【Windows】:https://proengineer.internous.co.jp/content/columnfeature/6727]]
-[[【初心者向け】PostgreSQLのダウンロード及びインストール方法:https://eng-entrance.com/postgresql-download-install]]
-[[WindowsでPostgreSQLが使いたいゾウ:https://tivel.jp/archives/11002]]

**Mac OS X [#g3ce3b03]

1. インストール
 $ ./configure オプション
 $ make
 $ sudo make install(デフォルトでは/usr/local/pgsqlにインストールされる)

2. 共有メモリ関係の設定変更

/etc/sysctl.conf がある場合は、このファイルを以下のように編集
 kern.sysv.shmmax=167772160
 kern.sysv.shmall=65536
 kern.sysv.shmmin=1
 kern.sysv.shmseg=8
 kern.sysv.shmmni=32

ない場合は、/etc/rc の64行目付近を以下のように編集
 sysctl -w kern.sysv.shmmax=167772160 kern.sysv.shmmin=1 kern.sysv.shmmni=32 kern.sysv.shmseg=8 kern.sysv.shmall=65536

編集後、Macを再起動し、ターミナルを起動。以下のコマンドを打って変更が反映されているか確認。
 $ sysctl -a | grep kern.sysv
 
 kern.sysv.shmmax: 167772160
 kern.sysv.shmmin: 1
 kern.sysv.shmmni: 32
 kern.sysv.shmseg: 8
 kern.sysv.shmall: 65536
         : 

3. postgres というユーザーを作成

4. "su - postgres" でpostgresユーザーになって以下を実行

 $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
 $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l postgres.log start
 $ /usr/local/pgsql/bin/createdb test
 $ /usr/local/pgsql/bin/psql test

5. 自動起動の設定
http://www.entropy.ch/software/macosx/postgresql/ より~
 pgsql-startupitem-1.2.pkg.tar.gz をダウンロードしてインストール

*設定 [#b23bcf37]
**パスワード変更 [#k3a45985]
-[[PostgreSQLのパスワードを初期化:https://www.flyenginer.com/low/low_db/postgresql_low/postgresql%E3%81%AE%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96.html]]

*ツール [#s3c253b9]
**pgAdmin4 [#j84822ca]
-[[PostgreSQL pgAdmin 4の使い方(起動からデータ参照):https://itsakura.com/pgadmin4-db-create]]


*サポート [#s62c9f8f]
-[[PosggreSQL Versioning Policy:https://www.postgresql.org/support/versioning/]]
-[[PostgreSQL Support:https://www.postgresql.org/support/]]

-[[サービス一覧 - PostgreSQL エンタープライズ・コンソーシアム:https://www.pgecons.org/postgresql-info/services/]]
-[[OS・ミドルウェアのサポート終了期限:https://qiita.com/tokamon/items/07030fcef453293a94b8]]


*リンク集 [#l2475a8e]
-[[PostgreSQL:http://www.postgresql.org/]]
-[[Max OS Xのパッケージ配布:http://www.entropy.ch/software/macosx/postgresql/]]
-[[PostgreSQLのインストール:http://homepage.mac.com/reefedge/osx/index_4.html#postgres]]
-[[PostgreX:http://www.magic3.org/postgrex/]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS