phpPgAdmin

Posted by muchag | PostgreSQL |
初回投稿:2019-11-23 (土) 21:43:05 | 最終更新:2019-11-24 (日) 12:00:36

【環境】
phpPgAdmin: 5.6
PostgreSQL: 12.1
配置
DL

SourceForge:phpPgAdmin ダウンロードページ より、DL。
2019-11-23 現在
phppgadmin-REL_5-6-0.zip

配置

解凍して出てきた

phppgadmin-REL_5-6-0

を ppa とリネームして、CakePHP4 の webroot ディレクトリ直下へ配置。

.gitignore
.gitignore

/webroot/ppa/*
設定
設定ファイルリネーム
/webroot/ppa/conf/config.inc.php-dist

/webroot/ppa/conf/config.inc.php

とリネーム。

設定
ホスト名

- $conf['servers'][0]['host'] = '';
+ $conf['servers'][0]['host'] = 'localhost';
  $conf['servers'][0]['host'] = '192.168.xxx.xxx'; <- IP 直打ちも可
DB 名

- $conf['servers'][0]['defaultdb'] = 'template1';
+ $conf['servers'][0]['defaultdb'] = 'hoge';
言語

- $conf['default_lang'] = 'auto';
+ $conf['default_lang'] = 'japanese';
スーパーユーザログイン

phpPgAdmin では、pgsql, postgres, root, administrator というユーザ名でのログインは
制限されているとのこと。

今回はローカル環境でのテストインストールなので
これを解除してみる。


- $conf['extra_login_security'] = true;
+ $conf['extra_login_security'] = false;
参考サイト

Qiita:ローカル環境PostgreSQL + phpPgAdmin でデフォルトユーザーでログインできないときの対処(2016-12-24)

テーマ
選択肢

ppa トップページでテーマを選択することができる。
とりあえず

  • Default
  • Cappuccino
  • Blue/Green
  • Bootstrap3

の4種から選べる。

ディレクトリ

これらが

/webroot/ppa/themes

こちらにある

  • bootstrap(Bootstrap3)
  • cappuccino(Cappuccino)
  • default(Default)
  • gotar(Blue/Green)

に対応している。

今回は、Cappuccino にしてみた。

カスタマイズ

.topbar, .trail {
	color: #fff;
	background-color: #363330;
	margin: 0;
	padding: 0;
	text-align: left;
}

Chrome で見ているけど、キャッシュがきつく、
スーパーリロードも効かない。
一晩寝かせたら、やっと反映された。

ドライバ
エラー

設定を終えて、ppa へアクセスしてみたら、下記エラーが出た。

データベースをサポートするように PHP のコンパイル・インストールがされていません。
configure の --with-pgsql オプションを用いて PHP を再コンパイルする必要があります。
インストール

PHP の PostgreSQL ドライバを追加インストール。


yum install -y --enablerepo=remi --enablerepo=remi-php74 php-pgsql

__snip__

インストール:
  php-pgsql.x86_64 0:7.4.0~RC6-15.el7.remi

完了しました!
Apache 再起動

Apache を再起動して、無事 phpPgAdmin が表示された。


systemctl restart httpd
ログイン

現状は、パスワードなしのログイン方法しかわかっていない。

それでも、事前 設定 が必要。

試行錯誤
ドライバ
依存性
依存解決エラー?

PostgreSQL のドライバをインストールしようとしたら
こんな感じになった。


yum install -y php-pgsql

__snip__

updates                                                  | 2.9 kB     00:00
(1/3): epel/x86_64/updateinfo                              | 1.0 MB   00:01
(2/3): remi-safe/primary_db                                | 1.6 MB   00:04
(3/3): epel/x86_64/primary_db                              | 6.9 MB   00:11
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-pgsql.x86_64 0:5.4.16-46.1.el7_7 を インストール
--> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-46.1.el7_7 のパッケージ: php-pgsql-5.4.16-46.1.el7_7.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ: php-pgsql-5.4.16-46.1.el7_7.x86_64 (updates)
             要求: php-pdo(x86-64) = 5.4.16-46.1.el7_7
            インストール: php-pdo-7.4.0~RC6-15.el7.remi.x86_64 (@remi-php74)
                php-pdo(x86-64) = 7.4.0~RC6-15.el7.remi
            利用可能: php-pdo-5.4.16-46.el7.x86_64 (base)
                php-pdo(x86-64) = 5.4.16-46.el7
            利用可能: php-pdo-5.4.16-46.1.el7_7.x86_64 (updates)
                php-pdo(x86-64) = 5.4.16-46.1.el7_7
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest
解決

そこで、php アップデート のときのコマンドを参考に
前述のようにしたら、無事にドライバをインストールできた。

ログイン

ユーザ名を、postgres。
パスワードは、なし、ALTER ROLE で再設定後の両方を試したけど
ログインできない。

対応

ドキュメント を見てみたら
Support for PostgreSQL 8.4.x, 9.x, 10.x, 11.x
あ、れ?
もしかして、12.1 だから?
多分そういう問題ではないよね。。。

一部解決

設定 をしたら、パスワードなしならログインできるようになった。

Posted by muchag | PostgreSQL |
初回投稿:2019-11-23 (土) 21:43:05 | 最終更新:2019-11-24 (日) 12:00:36

操作

Posted by muchag | PostgreSQL |
初回投稿:2019-11-17 (日) 21:30:18 | 最終更新:2021-03-19 (金) 9:01:53

【環境】
PostgreSQL: 12.1
CentOS: 7.5.1804
ユーザ切り替え

OS のユーザを切り替え。


su - postgres
最終ログイン: 2019/11/17 (日) 19:40:30 JST日時 pts/0

全てはここから。

ログイン
ログイン

psql -h [host_name] -p [port_no] -U [user_name] [db_name]

という書式でログイン。


psql -h localhost -p 5432 -U muchag testdb
psql (12.1)
"help"でヘルプを表示します。

で、下記のような、SQL 文入力待機状態になる。


 
ショートカット

postgres ユーザが postgres データベースへアクセスする場合のみ使える?


psql
ログアウト

\q

exit も有効。

確認
バージョン
ログイン前

psql --version
psql (PostgreSQL) 12.1
ログイン後

SELECT version();
                                                 version
---------------------------------------------------------------------------------------------------------
 PostgreSQL 12.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
ユーザ一覧

\du
                                             ロール一覧
 ロール名 |                                   属性                                   | 所属グループ
----------+--------------------------------------------------------------------------+--------------
 postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
データベース一覧
ログイン前

psql -l
                                        データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |     アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
 postgres  | postgres | UTF8             | C        | C                 |
 template0 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
ログイン後

\l
                                        データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |     アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
 postgres  | postgres | UTF8             | C        | C                 |
 template0 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
設定

SHOW all;
SHOW [設定名];
ヘルプ
ログイン前

psql --help
ログイン後
コマンドヘルプ

\?
SQL ヘルプ

\h
利用可能なヘルプ:
  ABORT                            ALTER PROCEDURE                  ALTER VIEW                       CREATE FOREIGN TABLE             CREATE TABLESPACE                DROP DATABASE                    DROP SCHEMA                      GRANT                            SELECT
  ALTER AGGREGATE                  ALTER PUBLICATION                ANALYZE                          CREATE FUNCTION                  CREATE TEXT SEARCH CONFIGURATION DROP DOMAIN                      DROP SEQUENCE                    IMPORT FOREIGN SCHEMA            SELECT INTO
  ALTER COLLATION                  ALTER ROLE                       BEGIN                            CREATE GROUP                     CREATE TEXT SEARCH DICTIONARY    DROP EVENT TRIGGER               DROP SERVER                      INSERT                           SET
  ALTER CONVERSION                 ALTER ROUTINE                    CALL                             CREATE INDEX                     CREATE TEXT SEARCH PARSER        DROP EXTENSION                   DROP STATISTICS                  LISTEN                           SET CONSTRAINTS
  ALTER DATABASE                   ALTER RULE                       CHECKPOINT                       CREATE LANGUAGE                  CREATE TEXT SEARCH TEMPLATE      DROP FOREIGN DATA WRAPPER        DROP SUBSCRIPTION                LOAD                             SET ROLE
  ALTER DEFAULT PRIVILEGES         ALTER SCHEMA                     CLOSE                            CREATE MATERIALIZED VIEW         CREATE TRANSFORM                 DROP FOREIGN TABLE               DROP TABLE                       LOCK                             SET SESSION AUTHORIZATION
  ALTER DOMAIN                     ALTER SEQUENCE                   CLUSTER                          CREATE OPERATOR                  CREATE TRIGGER                   DROP FUNCTION                    DROP TABLESPACE                  MOVE                             SET TRANSACTION
  ALTER EVENT TRIGGER              ALTER SERVER                     COMMENT                          CREATE OPERATOR CLASS            CREATE TYPE                      DROP GROUP                       DROP TEXT SEARCH CONFIGURATION   NOTIFY                           SHOW
  ALTER EXTENSION                  ALTER STATISTICS                 COMMIT                           CREATE OPERATOR FAMILY           CREATE USER                      DROP INDEX                       DROP TEXT SEARCH DICTIONARY      PREPARE                          START TRANSACTION
  ALTER FOREIGN DATA WRAPPER       ALTER SUBSCRIPTION               COMMIT PREPARED                  CREATE POLICY                    CREATE USER MAPPING              DROP LANGUAGE                    DROP TEXT SEARCH PARSER          PREPARE TRANSACTION              TABLE
  ALTER FOREIGN TABLE              ALTER SYSTEM                     COPY                             CREATE PROCEDURE                 CREATE VIEW                      DROP MATERIALIZED VIEW           DROP TEXT SEARCH TEMPLATE        REASSIGN OWNED                   TRUNCATE
  ALTER FUNCTION                   ALTER TABLE                      CREATE ACCESS METHOD             CREATE PUBLICATION               DEALLOCATE                       DROP OPERATOR                    DROP TRANSFORM                   REFRESH MATERIALIZED VIEW        UNLISTEN
  ALTER GROUP                      ALTER TABLESPACE                 CREATE AGGREGATE                 CREATE ROLE                      DECLARE                          DROP OPERATOR CLASS              DROP TRIGGER                     REINDEX                          UPDATE
  ALTER INDEX                      ALTER TEXT SEARCH CONFIGURATION  CREATE CAST                      CREATE RULE                      DELETE                           DROP OPERATOR FAMILY             DROP TYPE                        RELEASE SAVEPOINT                VACUUM
  ALTER LANGUAGE                   ALTER TEXT SEARCH DICTIONARY     CREATE COLLATION                 CREATE SCHEMA                    DISCARD                          DROP OWNED                       DROP USER                        RESET                            VALUES
  ALTER LARGE OBJECT               ALTER TEXT SEARCH PARSER         CREATE CONVERSION                CREATE SEQUENCE                  DO                               DROP POLICY                      DROP USER MAPPING                REVOKE                           WITH
  ALTER MATERIALIZED VIEW          ALTER TEXT SEARCH TEMPLATE       CREATE DATABASE                  CREATE SERVER                    DROP ACCESS METHOD               DROP PROCEDURE                   DROP VIEW                        ROLLBACK
  ALTER OPERATOR                   ALTER TRIGGER                    CREATE DOMAIN                    CREATE STATISTICS                DROP AGGREGATE                   DROP PUBLICATION                 END                              ROLLBACK PREPARED
  ALTER OPERATOR CLASS             ALTER TYPE                       CREATE EVENT TRIGGER             CREATE SUBSCRIPTION              DROP CAST                        DROP ROLE                        EXECUTE                          ROLLBACK TO SAVEPOINT
  ALTER OPERATOR FAMILY            ALTER USER                       CREATE EXTENSION                 CREATE TABLE                     DROP COLLATION                   DROP ROUTINE                     EXPLAIN                          SAVEPOINT
  ALTER POLICY                     ALTER USER MAPPING               CREATE FOREIGN DATA WRAPPER      CREATE TABLE AS                  DROP CONVERSION                  DROP RULE                        FETCH                            SECURITY LABEL

\h [SQL コマンド名] <- 詳細を見る
試行錯誤編
ログイン

真面目に書くと、ログインできない。。。


psql -h localhost -p 5432 -U postgres
psql: エラー: サーバに接続できませんでした: FATAL:  Ident authentication failed for user "postgres"
Posted by muchag | PostgreSQL |
初回投稿:2019-11-17 (日) 21:30:18 | 最終更新:2021-03-19 (金) 9:01:53

phpPgAdmin を XAMPP へインストール

Posted by muchag | phpPgAdmin,XAMPP |
初回投稿:2011-07-11 (月) 10:54:49 | 最終更新:2012-01-04 (水) 15:41:40

PostgreSQL は CUI で利用するのが一般的なようだが
初心者な私は、使い慣れた phpMyAdmin の兄弟に声を掛けることにした。

 

【環境】
[XAMPP] 1.7.3
phpPgAdmin
DL

phpPgAdmin にアクセス。
2011-07-10 現在、最新ヴァージョンは 5.0.2 のようだ。

画面上部の「Download」か
ヴァージョンの「5.0.2」をクリック。

 
私は XAMPP for Windows で利用するので
.zip 版を DL 。

phpPgAdmin-5.0.2.zip

 

インストール

解凍して出てくる

phpPgAdmin-5.0.2

を phpPgAdmin とリネームして
xampp 直下に phpMyAdmin と並列に置いてみたが
これはだめだった。

というわけで htdocs 直下に配置。

xampp/htdocs/phpPgAdmin

 

設定
xampp/phpPgAdmin/conf/config.inc.php
  1. $conf['servers'][0]['host'] = '';
  2.  ↓
  3. $conf['servers'][0]['host'] = 'localhost';

 

  1. $conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump';
  2. $conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';
  3.  ↓
  4. $conf['servers'][0]['pg_dump_path'] = 'I:\xampp\PostgreSQL\8.4\bin\pg_dump';
  5. $conf['servers'][0]['pg_dumpall_path'] = 'I:\xampp\PostgreSQL\8.4\bin\pg_dumpall';

 

  1. $conf['extra_login_security'] = true;
  2.  ↓
  3. $conf['extra_login_security'] = false;

この88行目に関しては、どこかのサイトで
「何でもありになるから控えるように」とか
書いてあった気がするけど、
これをやらないと大変なことに><

詳細は後ほど・・・。
 

アクセス

http://localhost/phpPgAdmin/
にアクセスすると、左の通り。
やった~!

「サーバー」をクリックすると

 
「PostgreSQL」をクリックすると

 
え?
えっと・・・「ユーザー名」を設定した覚えがないのですが・・・。

まずここで大ハマリした。
(私が嵌って青ざめている様子を思い浮かべてお楽しみください orz)

考えたり SS を見ること数十分。

 
あった・・・。

パスワードを設定したダイアログに
「the database superuser (postgres) and service account (postgres).」
だって・・・。

 
しかーし!!
ユーザー名:postgres
パスワード:決めたもの
でもログインできない。

PostgreSQL に同梱されていた「pgAdmin Ⅲ」では
上記ユーザー名&パスワードでログインできることも確認した。

なぜ~!!

そこで、config.inc.php の88行目の設定が効いてくる。

  1. $conf['extra_login_security'] = false;

これでログインできるようになった。

またもやメッサくだらないことで1時間以上費やしてしまったよん。 😥
 
やっとこさ
PostgresSQL とご対面~♪

 

参考元サイト

GLabo.NET:phpPgAdmin

Posted by muchag | phpPgAdmin,XAMPP |
初回投稿:2011-07-11 (月) 10:54:49 | 最終更新:2012-01-04 (水) 15:41:40

PostgreSQL を XAMPP へインストール

Posted by muchag | PostgreSQL,XAMPP |
初回投稿:2011-07-11 (月) 1:22:40 | 最終更新:2012-01-04 (水) 15:41:04

XAMPPPostgreSQL を使ってみようと思う。

【環境】
[XAMPP] 1.7.3
DL & インストール
DL

EnterpriseDB
[Products, Service & Training]-[Download] をクリック。

 
2011-07-10 現在、9.0 が最新ヴァージョンのようだ。

でも、何となく今回は 8.4 を選択してみる。

 
すると左のような画面になるので
左ペインに必要事項を記入。

Regist するとパスワードがメールで送られてくるので
ログイン・・・したら DL できるのかと思ったら
Access Denied 言われた・・・orz

おかしいなぁ と思っていたら
Cookie の受け入れを忘れていた。

で、Cookie を受け入れたら、今度はログインしなくても
いきなり DL できた。
postgresql-8.4.8-1-windows.exe

ん~、さっきのログイン情報が残っていたのかなぁ。

それとも実は Cookie をオンにしていたら
登録しなくてもよかったのかなぁ・・・不明。
 

インストール

 
インストールディレクトリの指定。

 
データディレクトリの指定。

 
上のデータディレクトリ指定で
その前のインストールディレクトリと被ると
左のようなエラーメッセージが出るみたい。

 
パスワードの設定。

 
利用ポート番号の設定。
まぁ、デフォルトでいいかな。

 
地域の指定。

私は素直に「Japanese, Japan」を選択してしまったが
参考元サイトに 「C」がお勧め と書いてあった。

もうインストールしちゃったよ・・・。

 

 

 

 

 
ツールがいっぱいあるようだけど
始めたばかりの私には、何がなにやらサッパリわからない。

よって
参考元サイトに従って「スタックビルダ」はキャンセルした。

 
参考元サイト:Let’s Postgres WindowsでPostgreSQLを使ってみよう
 

php.ini

php.ini の PostgreSQL 関連の設定を変更。

xampp/php/php.ini
  1. ;extension=php_pgsql.dll
  1. ;extension=php_pdo_pgsql.dll

以上2行のコメントアウトを外す。
(行番号は目安)
 

起動

ふと、PostgreSQL の起動や停止はどうするのかと思った。

XAMPP のコンパネでは、MySQL の起動&停止できるが
PostgreSQL の操作はできない。

とあれこれ見てみたら
なんていうことはない、普通に
[スタート]-[すべてのプログラム]-[PostgreSQL 8.4] で
あれこれできる。

Posted by muchag | PostgreSQL,XAMPP |
初回投稿:2011-07-11 (月) 1:22:40 | 最終更新:2012-01-04 (水) 15:41:04