Quantcast
Channel: 質問!ITmedia 新着質問(PostgreSQL/702)
Viewing all 116 articles
Browse latest View live

postgresのtimestampの『witho

$
0
0
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 ざっくり何が違って、どういう用途で使い分けるのか教えてください。

pgAdmin4はまだ使い物になりませんか?

$
0
0
pgAdmin4はまだ使い物になりませんか? postgresql-9.6.2-1-windows-x64.exeをインストールし、pgAdmin4を使ってみました。 日本語化する方法もよくわかりませんでした。 そのまま英語バージョンで使おうとしましたが、動作が遅すぎるし、そのままフリーズする事もしばしば。 右クリックから動かなかったりする機能も多く、結局、pgAdmin IIIを入れました。 取ってきたヤツが悪かったのですか? まだ使い物にならないレベルなのですか?

pgadmin3のインポート

$
0
0
pgadmin3のインポート機能でshift-jisのcsvデータをインポートしたいのですけど、 エンコードの一覧にありません。 もしかしてできないのですか?

sudo createdbをnopasswdで実行

$
0
0
sudoをnopasswdで設定しているにも関わらずpostgresユーザーで sudo createdb を行うとパスワードを聞いてきます。 sudo 設定内容 postgres ALL=NOPASSWD: ALL 実際に行ったコマンド -bash-4.1$ sudo -u hogehoge /usr/bin/createdb -U hogehoge -W hogehoge -E UTF-8 -D hogehoge -w [sudo] password for postgres: nopasswdで実行出来れば最終的にcronでの定期実行を考えています。 環境は以下の内容です。 CentOS-6.2-x86_64 PostgreSQL 9.3.16 よろしくお願い致します。

ポスグレのストアドFでIns&Upd

$
0
0
postgresのストアドファンクションで insertして重複したらアップデートに切り替えるというサンプルをよく見かけます。 DECLARE BEGIN □insert文 RETURN TRUE; EXCEPTION WHEN unique_violation THEN □update文 RETURN TRUE; END; この時に、update文でエラーがあった時はどうやって拾うことができますか? 下記のように、インサートしてすでにあったらエラーになる文を記述すると、otherではなくシステムエラーになりました。 DECLARE BEGIN □insert文 RETURN TRUE; EXCEPTION WHEN unique_violation THEN □エラーになる文 RETURN TRUE; WHEN other THEN RETURN FALSE; END; insertでunique_violationならupdate という書き方をしたらupdate時のエラーハンドリングは不能ですか?

ポスグレで指定した中で最大のレコードを1件取得する

$
0
0
ポスグレで指定した中で最大のレコードを1件取得する方法を教えてください。 下記の項目を持つテーブルがあるとします。 ・部署 ・氏名 ・日付 ・連番 ・内容 KEY(部署,氏名,日付,連番) 部署と氏名を指定した中で直近のレコードを1件だけ取得したいです。 例えば select * from テーブル where 部署 = 値 and 氏名 = 値 order by 日付 desc ,連番 desc で頭の1件を抜ければよいのですが、 limit 1を指定しても、どうやらorder byより先にlimitがかかっているようで、並び替えた後の最初の1件をとれません。 また、 ソート項目が1つだけなら select * from テーブル where 部署 = 値 and 氏名 = 値 and 日付 = (select max(日付) from テーブル t1 where t1.部署 = 値 and t1.氏名 = 値) という事もできますが、 日付が最大の中での連番が最大というのはさらに一手間必要です。 何か良い方法はありませんか? 全件持ってきた後にアプリ側で最初の1件だけ使うのではなく、postgres内で1件にしてアプリ側に渡したいです。

postgresの関数内で変数からの時間の足し算

$
0
0
postgresの関数内で変数からの時間の足し算の仕方を教えてください。 DECLARE result timestamp with time zone; l_minuteinteger := 15; BEGIN result := current_timestamp + '15 minute'; RETURN result; END; このように 直接「 + '15 minute'」を足す方法は分かるのですが、 上記のl_minuteを使ってl_minuteが分かりません。 よろしくお願いします。

Postgreの日付関数に関して教えてください。

$
0
0
Postgreの日付関数に関して教えてください。 表9.30 日付/時刻関数の例を実行していますが、 make_ で始まる関数がすべて失敗します。 PostgreSQL 9.6.2文書9.9. 日付/時刻関数と演算子 https://www.postgresql.jp/document/9.6/html/functions-datetime.html 表9.30 日付/時刻関数 select age(timestamp '2001-04-10', timestamp '1957-06-13') select age(timestamp '1957-06-13')  : : select make_date(2013, 7, 15) select make_interval(days => 10) select make_time(8, 15, 23.5) select make_timestamp(2013, 7, 15, 8, 15, 23.5) select make_timestamptz(2013, 7, 15, 8, 15, 23.5) make_dateの失敗のメッセージ ERROR: function make_date(integer, integer, integer) does not exist LINE 1: select make_date(2013, 7, 15) ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ********** エラー ********** ERROR: function make_date(integer, integer, integer) does not exist SQLステート:42883 ヒント:No function matches the given name and argument types. You might need to add explicit type casts. 文字:8 何が悪いのでしょうか。

postgresの関数内で変数からの時間の足し算

$
0
0
postgresの関数内で変数からの時間の足し算の仕方を教えてください。 DECLARE result timestamp with time zone; l_minuteinteger := 15; BEGIN result := current_timestamp + '15 minute'; RETURN result; END; このように 直接「 + '15 minute'」を足す方法は分かるのですが、 例えば、上記のユーザー変数l_minuteを使っての足し算がの仕方が分かりません。 よろしくお願いします。

postgresqlにて「psql」コマンド

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

PostgreSqlのinterval型のフォーマ

$
0
0
PostgreSqlのinterval型の項目に"1 day 05:19:00"という値が入っています。 これを29:19という時分で、 もしくは時を単独で29(時間)という数値に変換する方法を教えてください SELECT item1 -- "1 day 05:19:00" , to_char(item1,'HH:MI') -- "05:19" , to_char(item1,'HH24:MI') -- "05:19" , to_char(item1,'HH') -- "05" , to_char(item1,'MI') -- "19" FROM (select '1 day 05:19:00'::interval AS item1) query1

Postgreresqlで「 \ 」が打てない

$
0
0
PostgreresqlのSQLshellで、半角バックスラッシュ(\)を入力すると、アンダースコア( _ )に自動変換されてしまって入力できません。そのため、SQLshellで「\q」などのバックスラッシュを伴うコマンドが認識されません。  ただ、ターミナルやその他のアプリケーション内では、バックスラッシュの入力ができます。つまり、SQLshell内のみで入力ができない状態です。  文字エンコードの問題かなとも思いますが、うまい具合に解決できずに困っています。ご回答宜しくお願いします。  また開発環境は、MacOSでELcapitaを使用し、PostgresSqlは9.6を使用しています。

phpPgAdminの管理画面のURL変更

$
0
0
phpPgAdminの管理画面のURLを変更することはできるのでしょうか。 phpMyAdminはphpmyadmin.confファイルのAiliasを変更することで 可能ですが、phpPgAdminにもこのようなファイルがあるのでしょうか。

postgresqlトリガー

$
0
0
現在、保守対応を行っているシステムにて、 不明点があり、皆様にご助言を頂ければ幸いで御座います。 ■使用環境 "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が更新されるのですが、 実態がわからず、確認項目でも構いませんので、 ご助言、ご指摘頂ければ幸いで御座います。 以上、引き続き宜しくお願い致します。

PostgresqlのデータをODBCで取れない

$
0
0
LinuxでPostgresql(Ver.9.0.12-2vl6)を使っています。 Windows10からODBC(Ver.psqlodbc_09_06_0310-x64)を使ってExcel(2013)のピボットテーブルでデータを確認しようとしています。 ピボットテーブルを作ったときは最新情報が取れますが、翌日次の日のデータを取ろうと更新すると日付の部分が更新されないのか、次の日のデータが出てきません。 1シートだけ更新すると次の日のデータが出ますが、ほかのシートは更新できませんでした。使える1シートをコピーして使うと、やはり次の日は更新できなくなります。 ODBC設定画面の「設定2」にある更新可能カーソルのチェックはあり、リードオンリィのチェックは外れています。 きちんと更新する設定はどうすれば良いか教えて下さい。 よろしくお願いいたします。

postgresqlトリガー

$
0
0
現在、保守対応を行っているシステムにて、 不明点があり、皆様にご助言を頂ければ幸いで御座います。 ■使用環境 "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が更新されるのですが、 実態がわからず、確認項目でも構いませんので、 ご助言、ご指摘頂ければ幸いで御座います。 以上、引き続き宜しくお願い致します。

VBからNpgsqlで接続したいのですが

$
0
0
クライアントからSQL Manager Lite for PostgreSQLで CentOSに接続して テーブルを作成しVBから接続しようと、下記のようなコードを書いたのですが・・・ ソースコードの New NpgsqlConnection でエラーとなります。 環境:CentOS6.9 32bit + PostgreSQL8.4 + vb2005 Windows7-SP1 64bit プロジェクトの参照設定で、Npgsql 1.98.1.0、MonoSecurity2.0を追加しました。 コードは下記の通りです Imports Npgsql Imports NpgsqlTypes ・ ・ ・ Try Dim conn = New NpgsqlConnection ←ここでエラーとなります。 Dim cst As String = String.Empty cst = cst & "Server=" & "192.168.1.100\ServerName" cst = cst & ";Database=db_Name" cst = cst & ";Port=5432" cst = cst & ";User ID=postgres" cst = cst & ";Password=" conn.ConnectionString = cst conn.Open() conn.Close() Catch ex As Exception Throw New Exception("Connect Error", ex) End Try エラーを拾って見たところ System.IO.FileNotFoundException = {"ファイルまたはアセンブリ 'Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'、 またはその依存関係の 1 つが読み込めませんでした。 指定されたファイルが見つかりません。 ":"Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"} となります。ためしに Mono.Security のバージョンを下げてみても下記の通り System.IO.FileNotFoundException = {"ファイルまたはアセンブリ 'Mono.Security, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'、 またはその依存関係の 1 つが読み込めませんでした。 指定されたファイルが見つかりません。 ":"Mono.Security, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"} となり、同じ結果となります。 私にはこれ以上どうして良いか解りません・・・(たぶん環境面だと思うのですが) どなたか修正、確認すべき箇所をご教授いただけないでしょうか。 宜しくお願い致します。

java からpostgreSQLを操作

$
0
0
java を使ってpostgreSQLを操作しようとしていますができません わかる人がいたら教えてください。 PostgreSQL JDBC Driver をダウンロードして↓ "C:\PostgreSQL\jdbc\postgresql-42.1.4.jar" javaのコードを書いたファイルを保存して↓ "C:\PostgreSQL\java\src\DBConnect1.java" コマンドプロンプトからコンパイルして↓ C:\PostgreSQL\java\src> C:\PostgreSQL\java\jdk\bin\javac DBConnect1.java クラスファイルができて↓ "C:\PostgreSQL\java\src\DBConnect1.class" プログラムを実行すると C:\PostgreSQL\java\jdk\bin\java -cp C:\PostgreSQL\jdbc\*;. DBConnect1 下記のようなエラーメッセージが表示されます↓ . : 用語 'DBConnect1' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されませ ん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ さい。 発生場所 行:1 文字:60 + C:\PostgreSQL\java\jdk\bin\java -cp C:\PostgreSQL\jdbc\*;. DBConnect1 +                ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (DBConnect1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

PostgreSQLのタイムアウトについて

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

postgresql primary_key

$
0
0
失礼します。 今回重複データの削除等をしたテーブル 例: ------------------------- id | name | 1 | hoge | 8 | piyo | 12 | temp | ------------------------- このようなserial型でprimary_keyに設定したidの値を1,2,3と振り直したいです。 探してみるともしかしたらそのような事が不可能なのかもと思って投稿しました。 宜しくお願い致します。
Viewing all 116 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>