haiju's 開発メモ

開発に必要な情報を自分用にメモ

PostgreSQL

psql上で(自分のスキーマで利用可能な)テーブル一覧を表示する

何度やっても忘れてしまうのでメモ(Φω| [solution] 1. psqlコマンドでログイン。 $ psql -U <role_name> <database_name> 2. 以下コマンドを実行し自分のスキーマで利用できるテーブル 一覧を表示。 databasename => \d <schema_name>.* [参考サイト] dev.classmethod.jp qiita.com</schema_name></database_name></role_name>

PostgreSQL 10でpsqlで作成済みのテーブル一覧を確認する

pgAdminを使えば一目瞭然だけど、いちいち重くて難儀するので psqlを使ってテーブル一覧を確認するコマンドについて備忘録として まとめておく(Φω| [手順] 1. psqlを起動。 $ psql -U user_name(rolename?) database_name 2. プロンプトで、以下コマンドを…

ローカルのLubuntu 18.04.4からリモートのAWS EC2インスタンスへSSH接続する方法

ローカルというかVirtualBoxのゲストのLinuxでリモートのAWS(EC2)に ログインする方法について調べて試したので備忘録としてまとめて おく(Φω| WindowsやMacでの接続方法を書いた記事は割とあるのにLinuxクライアント の場合について書いてるのが少ないので…

CodeIgniter3.xで複数のデータベースオブジェクトに接続するには?(同じスキーマ内では作れないのが仕様)

似たようなことをCakePHP2.xでやった記憶はあるが、文化が 違うかもしれないし既に覚えていないので、CodeIgniter3.xで やる方法についてメモしておく。 なお、ドキュメントを読みながら試しているが定義内容は 分かったけど、それは一体どこのファイルに定…

MX Linux19でpeer認証の関係(PostgreSQL “対向(peer)認証に失敗しました” エラー)でpsqlログインできない時の対処法

Windowsの文字コードやロケール周りでPostgreSQLが地獄なので、Linuxにすれば 違うかなと思っていたら、OSのパッケージマネージャ、たとえばMXなどDebian系 のディストリビューションでapt install postgresqlでインストールした場合は、 データベースクラス…

PostgreSQL10を利用してERROR: permission denied for table table_nameが発生したら【調査中】

そもそもPostgresql10ではデフォルトではテーブルアクセス権限が追加され ないという情報を得たのだが、でも環境構築スクリプトにはちゃんと定義さ れているんだけどな... 一体どういうことなんだ?(Φω| ということで少し調べてみた。 (お陰でローカル開発…

PostgreSQL10の権限の削除について

1つ前の記事の手順で動作確認をしてみたが、それでも同じエラーが 出続けていたので、更に沼に落ちて掘ってたw(Φω| (PostgreSQL10に不慣れ過ぎて他の作業が終わらない...) 有志作成のスクリプトにはREVOKEしてるのスキーマ作成権限のみ 削除ってなってたけ…

PostgreSQLでError: `cannot be dropped because some objects depend on it`が発生する場合

PostgreSQL10を開発環境で利用していて、有志が作成したCREATEと DROPを利用したDatabaseを作成/再作成するスクリプトを実行した時に、 タイトルのエラーが発生し、気になるので調べてみたことをメモして おく(Φω| PostgreSQLではMySQLとは違い、単純にロー…

PostgreSQLをインストールするとついてくるPgAdmin4でデータエクスポート

頻繁に開発環境のDB環境の内容が変更されるので、スクリプト を叩くたびに初期化されるとテストデータの登録が大変だという ことで、PgAdmin4でエクスポート・インポートできんのか? ってことで調べて試してみたメモ(Φω| [手順] 1. Windows10のスタートメ…

PostgreSQL 10.10 (ver9.0以降)で参照権限しか持たないユーザーを作成するには

PostgreSQLはインストールの時からエンコーディングやロケール等の 文字コード周りには厳しいDatabaseという印象がある。 MariaDBかMySQLを使う仕事が多かったのもあり、PostgreSQLに 詳しくないので仕事で使う、この機会に勉強してみようということで 少し…

PostgreSQL 10.10で日本語データ以外を修正するとupdateクエリーを実行した先で更新データがずれる問題がある【調査中】

ローカルの開発環境にインストールしたPostgreSQLのロケール を「C」(ロケール未設定/default)にしてインストールした後に、 lc_collateとlc_ctypeをWindows ShiftJIS(Japanese_Japan.932) に上書きして、日本語以外のデータのカラムに対してupdate クエリー…

PostgreSQLでデータベース作成時に、new collation (Japanese_Japan932) is incompatible with the collation of the template database (C)

仕事で担当の人がWindows10でPostgreSQLのデータベースを作成する バッチファイルを作りました!と教えてくれたので、早速、試したら タイトルのエラーが発生して「なんじゃこれはー?」と思ったので 調べて自分環境用にスクリプトから呼ばれるSQLクエリーを…

pgAdmin4を使ってPostgreSQL 10.10の起動からSQLの実行までチュートリアルをやってみた

PostgreSQLとXAMPP(Windows10)を利用したサービス開発 の記事が少ないので、ちょっとわかったことを備忘録として まとめてみる(Φω| まずは、参考資料の羅列から。 [使い方手順] 1. pgAdmin4を起動。 起動時にパスワードを求められるので、XAMPP下にインスト…

Windows 10 ProにPostgreSQL x64 10.10をインストールしてみたらエラー【解決】

仮の開発環境(XAMPP portable)でRESTとJSON返却に対応した テンプレートをCodeIgniter3で作成するために、チームで使用 することが決まったPostgreSQL x64 ver 10.10のインストール を実行してみたら下記エラーが(ΦωΦ;) インストールには管理者権限が必要と…

PostgreSQL 9.6.xでPHPで生成した現在日付がinsertできない件【調査中】

PostgreSQLの9.6.xにPHPで生成した現在日付(date('Y-m-d H:i:s'))を insertしたいが、下記エラーが発生しinsertができない。 SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type timestamp: "$created_at" 調べても調べても…

PostgreSQLのテーブルのデータをCSVエクスポートするには?

基本的にCOPYコマンドを使えばいいらしい。 でも、自分ローカルじゃないし開発サーバーで利用してるので psqlコマンドから叩ける方がいいんだけどな...ってことで調べた ので備忘録としてまとめる(Φω| [書式] $ psql -c "copy table_name to stdout with csv…

PHPプログラムからPostgreSQLのストアドプロシージャを呼んで値を取得

特に使い方を聞かなかったけど実装した通りだった。 なかなかPostgreSQLに関する日本語情報も少ないけど ストアドプロシージャをPHP等プログラミング言語から 利用する方法が書かれてるサイトはないに等しかった。 でも最近、よく見てるPostgreSQLのチュート…

PDOStatementの基本と返す値について

PDOStatementを直に触らなくなって早や数年で、返す値や型が よくわからなくなっていたので備忘録としてまとめておいて、 あとでなるはやで復習しておかないといけない(Φω| しかし、PL/pgSQLの関数をPHPプログラム内で使う方法がよくわから ないんだが・・…

PostgreSQLでpsqlコマンド実行時にSQLクエリーを叩く

PostgreSQLをMySQLの黒い画面のクライアントっぽく使う には、基本以下コマンドでイケる。 % psql -d database_name でも、ついでに簡単に必要なデータを検索するクエリーを 実行するにはどうするの? ってのを調べたのでメモ。試す程度なら、挿入や更新も同…

Manjaro GNOME 18.0 x86-64にPostgreSQLをインストールする

最近、MySQLじゃなくてデフォルトでPostgreSQLを使用する フレームワークが増えてきて、この機会に勉強しておこうと思い 環境を構築してみた。 [手順] 1. ターミナルを起動し以下のコマンドを実行。 % sudo pacman -S postgresql 2. インストール完了後に、…