『PostgreSQL』に関する質問・疑問一覧

次へ  ]
1171件中 21~40件目
  • postgresのtimestampの『witho

    postgresのtimestampの『without time zone』と『with time zone』の違いを教えてください。 timestamp [ (precision) ] without time zone timestamp [ (precision) ] with time zone PostgreSQL 9.6.1文書を読んでみましたがイマイチ理解できていません。 https://www.postgresql.jp/document/9.6/html/datatype-datetime.html#datatype-datetime-input ざっくり何が違って、どういう用途で使い分けるのか教えてください。

    2017/03/07 15:59
  • postgresのストアドファンクションでエラーの

    postgresのストアドファンクションでエラーの拾い方を教えてください。 insertして重複したらアップデートに切り替えるというサンプルをよく見かけます。 DECLARE BEGIN insert文 RETURN TRUE; EXCEPTION WHEN unique_violation THEN update文 END; それと同じノリで、何かしらのエラーがあった時に、 『RETURN FALSE;』するか、もしくはエラーコードをそのまま拾って返すというようなサンプルが欲しいです。 DECLARE BEGIN 何かしらのSQL RETURN TRUE; EXCEPTION WHEN すべてのエラー THEN RETURN FALSE; END; DECLARE BEGIN 何かしらのSQL RETURN TRUE; EXCEPTION WHEN すべてのエラー THEN RETURN エラーコード; END;

    2017/03/06 18:14
  • postgresqlのトランザクションについて

    開発環境(centOS、apatch、php、postgresql) postgrsqlで「current transaction is aborted, commands ignored until end of transaction block」 のエラーが出てしまいました。 ・複数テーブルに対してinsertを行っています。 ・複数tableのinsert中のどこかでエラーになった場合、全tableをrollbackしたいです。 ・複数テーブルのうち、ひとつのtableでは5回insertを行っています。   for文でまわしているのですが、ここで2回目のinsertの時に   上記のエラーになってしまいます。 で、トランザクション(begin、rollback、commit)を全てはずしたところ、全てのtableで正常にinsertできました。 上記のエラーを調べてみても rollbackしていない・・・みたいなことしか調べられませんでした。 エラーにはなっていないのでrollbackはしないし、ここでcommitしてしまうと、次のinsertなどでエラーになった時、rollbackできなくなってしまうし。。。 上記のエラーをなくすために どのような対策をすればいいのかアドバイスをお願いいたします!

    2016/11/30 10:45
  • 文字列をバイト単位で取り出したい

    PostgreSQL 9.5.2を使用しています。 「ABCde」を先頭5バイト分で「AB」と取り出したいです。 但し、例のように「C」が中途半端に範囲にかかるときは、取り出さないようにしたい のですが、どのようにすれば、可能なのでしょうか。 お忙しい中、申し訳ありませんが、ご教授頂けると助かります。 宜しくお願いいたします。

    2016/11/28 11:14
  • PostgreSQLの同期・非同期について

    社内で稼働しているシステムの更新で 今までオラクルを使用していましたが、 PostgreSQLに移行すべく, 2台のサーバーでレプリケーションするつもりでいます。 ポスグレにはレプリケーションで、同期と非同期がありますが、 どちらも一長一短があり、迷っています。 製造工場のシステムに使用している為、 クライアント端末からサーバーへのアクセスは、 1日20時間程度。 障害時の復旧は、長くても2時間程度以内が希望です。 1日の追加行数は7千行程度。 2台のサーバーは物理的に分かれておりますが、 同じ部屋で稼働。 OS:WindowsServer 2012 R2 DB:PostgreSQL9.6 現行のオラクルは、同期モードがライセンス上できませんでしたので、 非同期で運用していますが、 ポスグレはどちらも選べますので、迷います。 同期・非同期 どちらにしたら良いと思われますか? 他に良い方法があるようでしたらご教授ください。

    2016/11/16 18:23
  • pg_dump スキーマ バックアップでエラー

    スキーマ単位でバックアップをしたいと思ってます。 が・・ pg_dumpにてあるスキーマを指定して実行すると「PG_DUMP: no matching tables were found」のエラーが表示されます。 【環境】 PostgreSQL :9.6.0 サーバー :Windows2008 R2 クライアント:Windows7 データベース:postgres ユーザ :postgres -- スーパユーザ スキーマ :SCM -- 注意 大文字 【コマンド】エラー時 パターンA PG_DUMP -h 192.168.xxx.xxx -U postgres -p 5432 -f D:\POSGRESQL_DUMP\SCM_DUMP.DAT -n SCM -Fc postgres 【コマンド】エラー時 パターンB (スキーマに”をつける) PG_DUMP -h 192.168.xxx.xxx -U postgres -p 5432 -f D:\POSGRESQL_DUMP\SCM_DUMP.DAT -n "SCM" -Fc postgres ちなみに -n スイッチを外すと正常に実行されます。 【コマンド】正常時(-n SCMを外す) PG_DUMP -h 192.168.xxx.xxx -U postgres -p 5432 -f D:\POSGRESQL_DUMP\SCM_DUMP.DAT -Fc postgres どうか、お助け下さい。よろしくお願いします。

    2016/10/11 20:03
  • 大容量のCSVファイルをインポートするには。

    お世話になります。 Windows版のPostgreSQLをインストールしてCSVファイルを読み込ませようとしていますが途中でエラーが発生してしまい困っています。 取り込んでいるCSVファイルの件数は約65万件です。 その際に実行している下記のコマンドは以下の通りです。 SET client_encoding TO 'SJIS'; COPY T_SAMPLE FROM 'C:\test.csv' WITH CSV; また途中で発生したエラーの内容は以下の通りです。 ERROR: メモリ不足です DETAIL: 1073708532バイトを持つ文字列バッファを65534バイト多く、大きくすることができません。 CONTEXT: T_SAMPLEのCOPY。行番号 231916 どのようにしたら大容量のCSVファイルをデータベースにインポートする事ができるのでしょうか。 大変、申し訳ありませんがどうか私を助けて下さい。 些細な事でも何でも構いませんのでアドバイスいただけませんでしょうか。 私の環境のOSは「Windows Vista Ultimate」でPostgreSQLは「PostgreSQL 9.5.4」です。 何卒、宜しくお願いします。では、失礼します。

    2016/08/28 05:58
  • PostgresqlのILIKEについて

    現在、PostgresqlのILIKEを用いて、あるDBに検索をかけています、 半角英字の場合は検索でうまくいくのですが、全角文字で検索をかけるとILIKEでうまく検索をかけてくれません。(動作がLIKEと同じ)。 他のDBだとILIKEは使えるのですが、検索をしたいDBではILIKEがつかえません。 これはDBのロケールの問題なのでしょうか? 大変お手数ですが、ご教授お願い致します。 検索対象DBのロケール:C Postgresqlのバージョン:9.3.13

    2016/08/24 10:13
  • 自動採番について

    お世話になります。 データベースのシーケンスによるシリアル型について質問があります。 例えば下記のような商品テーブルがあるとします。 ・商品コード ・商品名 ・価格 ・備考 ※商品コードは重複しない値(一意)を格納。 このようなマスタを作成する際にシーケンスによるシリアル型による自動採番のフィールドを指定した方がいいのでしょうか。またシーケンスによるシリアル型をどのような場合に使うのが一般的なのでしょうか。 大変、お手数をお掛けしますが説明していただけませんでしょうか。 くだらない質問ですみませんが宜しくお願いします。

    2016/07/29 08:22
  • postgresql-CSV生成時の文字化け

    お世話になります。 実行環境:  OS:Win8.1 64bit  PostgreSQLのバージョン:9.5.3-1  client_encoding:SJIS  データベースエンコーディング:EUC_JP C C 以上のような環境でローカルフォルダにCSVを出力することを 考えていますが、ファイル名に日本語が含まれるCSVを出力 すると文字化けします。 正常なケース:  COPY (select * from db) TO 'D:\pos\hoge.csv' (FORMAT csv); 異常なケース:  COPY (select * from db) TO 'D:\pos\ほげほげ.csv' (FORMAT csv);  →ファイル名が文字化け。   ただし、レコードの中身は文字化けせず出力できている。 文字化けせずに日本語ファイルを出力できるのが理想です。 対処法はありますでしょうか? --そもそもCOPYコマンドのファイル名のエンコードはどこで設定するのでしょうか?

    2016/07/09 12:44
  • VPSにpostgresインストールで気を付ける事

    VPSのLinuxにpostgresqlをインストールする上でセキュリティ上で気を付ける事を教えて下さい。 postgresqlの環境をセットアップしたくて、レンタルVPSの無料期間を利用し試しに構築してみました。 すると、僅か数時間で乗っ取られ、サーバーの管理者から連絡があり、サーバーを止められました。 VPSのOSはLinuxでした。 VPS上のpostgresqlをインストールして、DBやテーブルを作り、pgadmin3でPCから弄ったり、 ダンプを取ったり、取ったダンプをリストアしたり、 firewallを起動させて使えなくしたり、 firewallにpostgresqlの通信を許可したり、 環境構築を一通りやってそのまま放置したところ、翌日には乗っ取られていてサーバーを止められました。 原因は、postgresqlをインストールすると生成されるlinuxユーザー(postgres)のパスワードが脆弱だった事です。 いろんな操作を試したかっただけなので、パスワードはテキトーでした。 postgresとか、passwordとかそういう類のパスワードでした。 容易に推測され、 sshでログインされ、 postgresでパイソンで作ったマルウェアをインストールされ、 cronにマルウェアを起動するスケジュールを組まれていました。 linuxユーザーのpostgres、ロールのpostgresともに複雑なパスワードにしなければ速攻でやられる事は分かりました。 そもそも、postgresユーザーで直接ログインする必要もないので、nologinにしといた方が良いのでしょうか? それ以外を含め、セキュリティ上で気を付けるべき事を教えて下さい。 なお、この質問は「VPSなど外部サーバーのLinuxにpostgresqlをインストールする上で」に限定しています。

    2016/05/30 16:46
  • PostgreSQLのタイムアウトについて

    VB.NETとPostgreSQLで社内システムを作っています。 更新クエリを実行すると15秒くらいでタイムアウトしてしまいます。 (エラーコードはメモを持ち帰るのを忘れたため覚えておりません…が、割と急いでいるので質問させて頂いてます) Statement_Timeoutはいじっておらず、値は0のままです。 プロバイダはnpgsqlです。 タイムアウトしないようにするにはどうすればいいでしょうか。 アドバイスお願いいたします。

    2016/05/22 23:39
  • postgresqlトリガー

    現在、保守対応を行っているシステムにて、 不明点があり、皆様にご助言を頂ければ幸いで御座います。 ■使用環境 "PostgreSQL 8.1.23 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)" ■現状 update tbl_result_interview set {割愛} where {割愛} を実行すると mst_exam_resultというテーブルも更新がされます。 恐らくトリガーが引かれているのかと考えているのですが、 実態が確認出来ず苦慮しております。 =================================================== \d+ tbl_result_interview Column | Type | Modifiers | Description --------------+-----------------------------+-------------- {割愛} Indexes: "tbl_result_interview_pkey" PRIMARY KEY, btree (app_id) Foreign-key constraints: "tbl_result_interview_app_id_fkey" FOREIGN KEY (app_id) REFERENCES tbl_app_exam(app_id) Has OIDs: no =================================================== \d+ mst_exam_result Column | Type | Modifiers | Description --------+------------------------+-----------+----------------------------------------- {割愛} Indexes: "mst_exam_result_pkey" PRIMARY KEY, btree (code) Has OIDs: no =================================================== ちなみにpgadminで確認しても、トリガ関数(0)と出ており、 トリガはなさそうです。 関数は数個ありますがmst_exam_resultに更新処理を行う様な記述は見れません。 update tbl_result_interview set {割愛} where {割愛}により、 mst_exam_resultが更新されるのですが、 実態がわからず、確認項目でも構いませんので、 ご助言、ご指摘頂ければ幸いで御座います。 以上、引き続き宜しくお願い致します。

    2015/12/15 15:35
  • postgresqlにて「psql」コマンド

    postgresqlを使用してます。 既存をリプレイスしたく、 VMでバージョンを上げて試してます。 引き継いだ案件で今までほっておいたのですが、 設定がわからず、確認箇所があれば、 ご教示頂きたいです。 □既存 (1)あるユーザでサーバにログインします。 (2)psqlのみでDBに接続します。 ここで、伺いたいのですが、 psqlのみの場合、ログインに(1)のあるユーザが適用されるかと考えてましたが、 実態は別のユーザー。 ※ちなみに-Uで別のユーザーを指定してみましたが同じ挙動です。 お伺いしたい事は以下です。その下は補足です。 「-U省略と別ユーザを紐づけている箇所がわかりません。思い当たる箇所があればご教示頂きたいです。」 ~/.pgpassに設定があったので、それかと考えもしましたが、 この設定はパスワードを省略出来る??と記載があり、ユーザー名までは違う? 新しくVMで作った方に入れてみても、[psql]のみではユーザー名は変更出来ませんでした。 psqlのみの時、-Uがどこか連携する箇所あればご教示頂きたいです。 どうして別ユーザーで入れるのかわからずとん挫しております故、 何卒宜しくお願い致します。

    2015/09/16 14:56
  • PostgreSQLのリプリケーション アーカイブ

    実行環境  OS:win7 64bit     プライマリーとスタンバイをローカルLANで接続  PosgreSQLのバージョン:9.4 以下のように設定しました。 A.プライマリのpostgres.confを修正    1.wal_level=hot_standby    2.max_wal_sender=3    3.archive_mode=off    4・wal_keep_segment=8 B.basebackupを行う C.スタンバイの設定    1.recovery.conf       standby_mode='on'       primary_conninfo='host=192.168.1.100 port=5432 user=repli possword=xxx'    2.postgres.conf       hot_stndby=on 以上のように設定すると、リプリケーションが可能ですが、 これをアーカイブモードにすると、COPYコマンドでエラーが発生します。 プライマリサーバーにアーカイブ場所を設定すればエラーは出ないのですが、 スタンバイ側に設定するとエラーになります。 アーカイブのコマンドは  プライマリのpostgres.confに   archive_mode=on   archive_command='copy "c:\\postgresql\\data\\%p" "\\standbyPC\\srch\\%f""' と設定しています。 この設定でサービスを起動すると、以下のようなLOGが出力されます。 指定されたパスが見つかりません。 2015-08-16 07:48:25 JST LOG: アーカイブコマンドがリターンコード 1で失敗しました 2015-08-16 07:48:25 JST 詳細: 失敗したアーカイブコマンドは次のとおりです: copy "c:\PostgreSQL\data\pg_xlog\000000010000000000000019" "\standbyPC\PostgreSQL\arch\000000010000000000000019"  コマンドプロンプトから実行すると、正常にコピーされます。 どこが間違っているのでしょうか?

    2015/08/18 10:18
  • PL/pgSQLの直接実行

    PL/pgSQLのことで教えてください。 これまで SQL Server を使っていましたが、PostgreSQL に移行しています。 Npgsql で、VB.Net から接続しようと思っています。 PL/pgSQLで、ストアドファンクションなどを定義するのではなく、PL/pgSQLスクリプトを 直接実行することはできないのでしょうか? SQL Server では、T-SQLのスクリプトを直接実行できました。 例えば ManagementStudioのクエリ実行画面にスクリプトを入力して実行したり、 VBからだと、SqlCommand の CommandText に T-SQLを書いて実行したり、という ことです。 pgAdminIIIのSQLエディタや、NpgsqlのNpgsqlCommandで同様のことをやろうとすると エラーになります。 何か良い方法があるのでしょうか?

    2015/07/03 14:10
  • pg_dumpでパスワードなしで実行する方法

    pg_dumpでパスワードなしで実行する方法がわかりません。 マニュアルには、パスワードファイルは 実行するユーザのホームディレクトリに「.pgpass」ファイルを準備して、 パスワードの設定を記述してあげればよいとのことですが、うまくいきません。 お忙しい中、申し訳ありませんが、ご教授ねがいます。 【環境】 Windows7 PostgreSQL9.4 ちなみにパスワードファイルを保存しました。 C:\Users\(ユーザ)\AppData\Roaming\postgresql\.pgpass 以上、宜しくお願いします。

    2015/06/01 13:31
  • バイナリエディタ

    20005B90 002903E7 以後+8h ・何故、先頭が0000ではなく、2000なのか? ・以後+8hとは、どうゆう意味で、どこを直せばいいのか? 教えて下さい。

    • 締切
    • すぐに回答を!
    • noname#208060
    • PostgreSQL
    • 回答1
    2015/05/29 18:50
  • bit型のselectについて

    postgresqlのbit型のselectについて質問です。 例えば、各個人のアンケートの回答なりのデータがbit型で格納されている場合に | user | data | ------------------------- | A | 0100011100 | ------------------------- | B | 0111011101 | ------------------------- | C | 1101011101 | ------------------------- | D | 0101011100 | ------------------------- | E | 0111011100 | ------------------------- (1)1番左を1番目の質問として、1番目の回答に1がついている人数(上記の場合は1人) (2)3番目の質問に1がついているuser(上記の場合はBとE) 以上の2点について、うまくselect出来る方法がありましたらご教授いただきたいです。

    2015/04/02 02:14
  • PostgreSQLのインストールについて。

    現在、初心者でPostgreSQLのインストールについてつまづいています・・・; 一度インストール作業をしたのですが途中で「応答していません」と出てしまい キャンセルをして再インストールをしようとしたところ 「An existing PostgreSQL installation has been found at C:\program Files\ PostgreSQL\9.4 This installation will be apgraded. In order to upgrade, we may need to restart the server. All connection to the server will need to be reestablishede after the completion of the installation process.」 と表示されてしまいました。 そして「NEXT」をクリックするとDate Directory の部分にファイルが参照されておらず空欄のままでした。 この場合どうすればいいのでしょうか?泣 すでにインストールされていたのでしょうか? どなたかおしえていただけますと幸いです。

    2015/03/31 07:36