• ベストアンサー

PHPからのpostgresDBのテーブルに対し『\copy』の実行はできますか?

myosukeの回答

  • ベストアンサー
  • myosuke
  • ベストアンサー率100% (1/1)
回答No.2

> バックアップ用に、OIDごとコピーしようと思っていたのですが、oidもコピーできるのでしょうか? 可能かと思います。 COPY tabename TO '/foo/foo.csv' WITH OIDS DELIMITERS ',' とかでいけるのではないでしょうか。 ※度々ですが6.*系でできるのかどうかは判りかねます。 > テーブルに対してユーザapacheの権限を与えるには どうしたらよいでしょうか? 具体的な命令文についてはURLなどのマニュアルをご覧下さい。 場合によってはテーブルに対する云々より、pg_hba.confなどをいじる必要があるかもしれません。

参考URL:
http://www.postgresql.jp/document/pg653doc/j/user/sql-grant.htm
dv_vb
質問者

補足

『COPY tabename WITH OIDS TO '/foo/foo.csv'』で telnetで実行したpsqlの\copyと同じ出力結果が得られました。 ありがとうございました。 ちなみに、インストールされているposqgresのバージョンを 確認する方法があったら教えてください。 あと、出力されたファイルがSJIS形式になるのですが、 EUC形式にすることは可能でしょうか?

関連するQ&A

  • PHP postgres でロールバック処理

    こんにちは。 タイトルの通りなのですが PHPではpostgreを使用してのトランザクション処理で 処理が失敗した時に ロールバック処理を意識しなくていいのでしょうか? $conn=pg_connect("host=dbhost user=dbuser password=password dbname=dbname port=5432"); $query="BEGIN;"; $result=pg_exec($conn,$query); $query="INSRET INTO ....;"; $result=pg_exec($conn,$query); $query="COMMIT;"; $result=pg_exec($conn,$query); pg_close($conn); このコミット時に自動でロールバックされる? どなたかご存知の方、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP + Postgres エラーのハンドリング

    やまとです。 宜しくお願いします。 今、PHP3とPostgres7.2でプログラミングをしています。 ちなみにOSはRedhatLinux7.2です。 PHPから、pg_execでSQL文を実行したり、pg_connectでDBに接続した場合に起きる エラーのハンドリングをしたいのですが出来るのでしょうか? Perlからではやり方は分かったのですが、PHPでのやり方が分かりません。 **************** Perlでのやり方 $db = "testdb"; $conn = Pg::connectdb("$db"); if (PGRES_CONNECTION_OK ne $conn->status){ print "システムエラーです。管理者へお問い合わせください。"; $msg=$conn->errorMessage; print "$msg"; exit; } **************** ↑みたいな感じをPHPでやりたいのですが・・・ ご存知でしたら、ご教授お願いします。

    • ベストアンサー
    • PHP
  • pg_copy_fromの使い方について質問です。

    pg_copy_fromの使い方について質問です。 <?php $a = array(1,2); $con=pg_connect("host=localhost dbname=byoin port=5432 user=postgres"); if (!$con) { die("データベースが開けません。<br>\n"); } pg_copy_from($con,ccc,$a,","); pg_close($con); ?> のようにすると、 Warning: pg_copy_from() [function.pg-copy-from]: Copy command failed: ERROR: 列"eee"のデータがありません CONTEXT: cccのCOPY。行番号 1: "1" in C:\xampp\htdocs\c.php on line 7 のようにエラーが出ます。 ちなみにデータベースは、 cccというテーブルの中にddd(integer not null、主キー)とeee(integer)の2列が作ってあります。 どうすれば、コピーがうまく出来るのでしょうか? ご回答をお願い致します。

    • ベストアンサー
    • PHP
  • PHPとPostgreSQLがつながらない

    PHPとPostgreSQLの初心者です。PHPとPostgreSQLを 使ってプログラムを作ろうと思ってます。 開発はPC上で、PostgreとPHPサーバはLinuxマシンに あります。まず最初にPostgreのインストールですが、 Fedora Core5 に着いていたPotsgreSQL8.1.3を入れ ました。設定としては、 postgresql.confでは listen_address='localhost,192.168.1.3' としました。192.168.1.3はLinuxマシンのローカル アドレスです。 pg_hba.confではconnectionのところで host all all 192.168.1.3 255.255.255.0 tyust としました。その後 host all all 0.0.0.0 255.255.255.0 tyust とかいろいろ試してみました。 一方PHPの方はほとんど何も設定をしていません。と いうか設定方法がよくわかりません。 以上の環境で、簡単なPHPプログラムをPostgreにつなげないで実行したところ問題なく動きました。 20行くらいのPHPを書いてみましたが、特に問題はあ りませんでした。 PostgreSQLの方は、PCからSSHで入って、接続テスト 用のDBを作り、テーブルも3つ作って、データを数件 Insertしました。 いよいよPHPからDBにつなぐことになったのですが、 プログラム上では以下のように書きました。 <?php    print "こんにちは"; $conn = pg_connect ('host=192.168.1.3 port=5432 dbname=phptest user=postgres');    print "こんばんは"; if (!$conn) { print "PostgreSQLへの接続に失敗です"; exit(); } else ・ ・ して実行したところ、「こんにちは」は表示されま したが、「こんばんは」以下はは表示しませんで した。$conn の先には進んでいないようです。 当然ここに書いた以外にも設定を変えてみましたが、 つながりませんでした。よろしくお願いします。

    • 締切済み
    • PHP
  • PHPからPostgreSQLのダンプを実行

    PHPからPostgreSQLのダンプを実行したいのですが、 php4.0.6から以下のsystemコマンドを実行してもダンプ採取できなく困っております。 system("pg_dump dbname > filename"); ネットで探してみて、参考になる物もありましたが成功しないので、改めてこちらで質問させてください。 詳細は、、、、 1.Webサイトから実行。 2.Perlだと成功します。 3.リターンコードはブランク(初期化0で、systemコマンド実行後、ページに表示して見ると表示なし。) 3.suコマンドでチェンジしても同様の結果。 ※ちなみに、Postgres接続、SQL発行などは成功しております。

    • 締切済み
    • PHP
  • PHPからPostgreSQLのダンプを実行したいのですが

    PHPからPostgreSQLのダンプを実行したいのですが、 php4.0.6から以下のsystemコマンドを実行してもダンプ採取できなく困っております。 system("pg_dump dbname > filename"); ネットで探してみて、参考になる物もありましたが成功しないので、改めてこちらで質問させてください。

  • SQLファイルの読み込み

    PHP上にSQL文を書くことはできますがSQLファイルを読み込むことはできるのでしょうか? 例えばSQL上では %\i create.sql のように実行してテーブルを作りますがこれを同じようにPHP上で $conn = pg_connect("host=localhost dbname=**** user=****"); $query = "\i create.sql"; pg_query($conn, $query); と記述してもエラーになってしまいます。 PHP上ではそもそも読み込みはできないのでしょうか? それとも文字型の指定などが間違っているのでしょうか?

    • 締切済み
    • PHP
  • PostgresとPHPが接続できない

    PostgreSQLとPHPがどうあがいてもつながりません。pg_connectのところで接続エラーになります。Postgresの権限、PORTの問題、いろいろ考えたのですが後は、Postgres とPHPのバージョン、ApacheのバージョンとPostgresのバージョンの問題かなと思うのですが、PHPとPostgresをお使いの方でバージョンは、どのバージョンだとつながるか教えていただけないでしょうか?環境はWindowsXPです。

  • PHPからposgresをオープンする文法

    いろいろなページで調べましたが、 下の文法でPHPからpostgresを開こうとするとエラーになります。 文法 $con = pg_connect ("host=localhost port=5432 dbname=dic user=xxx password=xxx"); エラー Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Group\Apache2\pic\php2.php on line 9 line 9 はconnectの行と一致しますので、何かこの行に問題があるのだとは思います。 バージョンは、 postgresは、Windows版で8.0 、 PHPは5.04で、Windows版。 正しいコマンドが他にありますでしょうか? または、他に問題点は考えられないでしょうか?

  • PHPからposgresをオープンする文法

    いろいろなページで調べましたが、 下の文法でPHPからpostgresを開こうとするとエラーになります。 文法 $con = pg_connect (\"host=localhost port=5432 dbname=dic user=xxx password=xxx\"); エラー Fatal error: Call to undefined function pg_connect() in C:\\Program Files\\Apache Group\\Apache2\\pic\\php2.php on line 9 line 9 はconnectの行と一致しますので、何かこの行に問題があるのだとは思います。 バージョンは、 postgresは、Windows版で8.0 、 PHPは5.04で、Windows版。 正しいコマンドが他にありますでしょうか? または、他に問題点は考えられないでしょうか?

    • ベストアンサー
    • PHP