PostgreSQL
- windows版とlinux版とのパフォーマンス差
両環境共に同じテーブル、データの内容も同じ状態下で単純なデータのコピーを行ったところlinux版が処理時間に2~3倍程度早い結果となり、ここまでパフォーマンスに差が出るものなのかと疑わしくおもっています。実際にここまでパフォーマンスに差が出るものなのでしょうか。 コピー処理は以下の感じです。 insert into hoge_tbl1_bk select * fom hoge_tbl1; またPostgreSQLのパラメータは以下urlを参照し作成しました。 https://pgtune.leopard.in.ua/#/ 以下環境となります。 両サーバーともにESXi上に作成しています。 Linux側 CentOS7.9 cpu 1core mem 2gb PostgreSQL13 Windows側 WindowsServer2012 cpu 4core mem 8gb PostgreSQL13 ご存じの方おられましたらご教示ください。
- ベストアンサー
- PostgreSQL
- kozax05
- 回答数1
- PostgreSQL 接続プール数について
vb.netよりPostgreSQLに接続すると以下のエラーが表示されました。 【エラー】 The connection pool has been exhausted, either raise MaxPoolSize(100) or Timeout(currently 15 seconds) 接続ユーザ数は、3ユーザぐらいなのですが、なぜこのようなエラーが出るのでしょうか? どなたかお詳しい方がいらっしゃいましたら、ご教授頂ければ、助かります。 宜しくお願い致します。
- ベストアンサー
- PostgreSQL
- rapport5683
- 回答数1
- PostgreSQLの列分割(水平分割)について
PostgreSQLで次のテーブルを作るとして create table test1(id int , name text , pass text , img bytea , dates date); このテーブルをパーティショニングしたいと思っています。 水平分割(dates列の値によって行をパーティショニング)についてのSQL文は、公式ドキュメントに例示されていたため理解したのですが、 垂直分割(列自体を分割)する設計のテーブルを作成する場合について調べているのですが、見つけることができませんでした。 id,name,pass,dateのテーブルと、id,imgのテーブルにパーティショニングするSQL文についてご教授願えないでしょうか
- 締切済み
- PostgreSQL
- noname#258842
- 回答数1
- psycopg2経由とpsql経由、違いますか?
Python3で、psycopg2を使用してPosgtreSQLに接続しようとしています。(Windows10環境です) 実際にpythonプログラムでinsertしてデータを登録したりしているのですが、 PostgreSQLでコマンドプロンプトからpsqlを使って、同じデータベースにアクセスしているのですが、データが登録できていません。 すべて同じPC上で動作させているのですが、 Python3でpsycopg2経由でアクセスしているデータベースと psql経由でアクセスしているデータベースが別という事はあるでしょうか? (もちろん同じデータベース名でアクセスしています。) 何かアドバイス頂けないでしょうか、どうぞよろしくお願いします。
- ベストアンサー
- PostgreSQL
- nsonoda
- 回答数1
- SQL select 2つの日時データの結合
SQLで2つの日時データについて、片方の日時に一番近い別データのレコードを結合して抜き出したいです。 <Table1> 日時A data1 2020/07/01 10:00:00 1000 2020/07/01 11:00:00 1000 <Table2> 日時B col1 2020/07/01 9:50:00 AAA 2020/07/01 10:05:00 BBB 2020/07/01 11:10:00 CCC 上記2つのようなデータがある場合、下記のようなSELECT結果を取得したいです。 日時A data1 日時B col1 2020/07/01 10:00:00 1000 2020/07/01 9:50:00 AAA 2020/07/01 11:00:00 1000 2020/07/01 10:05:00 BBB この場合、どのような構文を使用したらよいでしょうか? お手数ですが、よろしくお願いいたします。
- 締切済み
- PostgreSQL
- km000
- 回答数1
- PostgreSQLログイン中にOSコマンド
Oracleだと、SQLplusログイン中に、!をコマンドの前につければ、OSコマンドが使えます。 PostgreSQLで、ログイン中には同じような方法はありますか? copyコマンドで、CSVファイルに出力されたか確認する場合、lsコマンドでファイルの存在を確認したいのですが。 PostgreSQL初心者です。 ご存知の方いらっしゃいました、宜しくお願いします。
- ベストアンサー
- PostgreSQL
- naka1101
- 回答数1
- psqlでファイルに記載した命令を実行できません。
psqlを使っています。 ファイルに10行ほどのinsert命令を書いて、 psqlにて「\i /Users/・・・・省略(ファイルパス)・・・・)/aaa.sql;」 を実行するとエラーがでて実行できません。 /Users/・・・・省略(ファイルパス)・・・・)/aaa.sql:1: error: invalid command \rtf1 ・ ・ psql:/Users/・・・・省略(ファイルパス)・・・・)/aaa.sql:17: error: invalid command \'7b psql:/Users/・・・・省略(ファイルパス)・・・・)/aaa.sql:18: error: invalid command \'b7 psql:/Users/・・・・省略(ファイルパス)・・・・)/aaa.sql:18: ERROR: syntax error at or near "{" LINE 1: { こんな感じでエラーがでてしまいます。 命令文を1行ずつ手打ちで実行するとできるのですが、なぜでしょうか。 同じような経験のある方など教えていただけるとありがたいです。
- 締切済み
- PostgreSQL
- pppp4444
- 回答数1
- SQLのWHERE句を条件によって追加したい
SQLのWHERE句にパラメータで渡された値がnullでない場合は条件に 含めるようにしたいのですが、書き方が分かりません。 CASEを使って書いてもエラーになってしまいます。 SELECT 項目1 ,項目2 FROM テーブル WHERE 条件1 = パラメータ1 AND 条件2 = パラメータ2 -- パラメータ3がnullでない場合は下記条件を付けたい AND 条件3 = パラメータ3 使っているのはpostgresqlです。 よろしくお願いします。
- 締切済み
- PostgreSQL
- kinka2000
- 回答数4
- 最新日のレコードと合計の抽出
作業テーブル(作業者ID、作業日、作業時間)から、作業者ID毎に指定した作業日のレコード、および作業日を含む月の合計を抽出するSQLを考えております。 DBへのアクセス回数を減らすようにとの事で、1つのSQL文での抽出を検討しておりますが、いまいち上手くいかない状況です。 アドバイスを頂けると非常に助かります。 よろしくお願い致します。
- ベストアンサー
- PostgreSQL
- sakumoke
- 回答数1
- selectでデータの中身を見れない
デスクトップ上にあるCSVファイルのデータをpostgresqlに\copyで取り込んだのですが、取り込んだデータをselectで見ることができません。 「sh: more: command not found」と表示されてしまいます。 そもそもsh:とmore:の意味をネットでも調べたのですが、よく分かりませんでした。command not foundはパスが通っていないらしいと言うのは分かりました。 どうすればcsvで取り込んだデータを見ることができるのか、どなたか教えていただけないでしょうか。
- 締切済み
- PostgreSQL
- mana59323259
- 回答数2
- postgresql 合計値 PHP
失礼します現在テーブルからあるキーのフィールドの合計値を出していきたいのですがうまくいきません 例 テーブル名(test_tbl) user | count ----------------- aaaa | 6 bbbb | 5 bbbb | 6 aaaa | 4 cccc | 9 とあった場合 aaaa | 10 bbbb | 11 のように出力がしたく、SQLを作成しました。countが文字列で格納されているのでto_numberを使用しました $sql = "SELECT user, SUM(to_number(count)) FROM test_tbl GROUP BY user HAVING SUM(to_number(count)) >= 10"; しかしエラーが出てしまいます。どの部分が間違っているのでしょうか? 宜しくお願い致します。
- 締切済み
- PostgreSQL
- losloson
- 回答数1
- DBの全ユーザーテーブルに対するtruncate
PostgreSQLを勉強中の者です。 データベースの全ユーザーテーブルに対して、個別にtruncateをかけるいい方法を探しています。 \pset pager \dt 以上のコマンドを実行して、テーブル一覧を表示できることをはわかったのですが、ここから先の妥当なやり方がわかりません。 リダイレクトして、テキストエディタで加工して、シェルのようなもので流し込む・・・のような形になるのでしょうか? 実例も含めて教えていただけると助かります。 また、truncateされたことの上手い確認方法もあれば御教示下さい。 よろしくお願いします。
- 締切済み
- PostgreSQL
- hanakoto43
- 回答数1
- 変体仮名を登録したいのですが。
名前に変体仮名を使っている人がいます。エクセルに、その方の名前を入力したいのですがマイクロソフトのIMEには入っていないようです。皆さんはどうやって入力していますか。私のPCはWindows10homeの64ビットです。Unicodeの最新版には入ったと聞いたのですがインストール方法がわかりません。それから、koinnというところからフリーソフトをインストールしようとしたのですが、身代金要求のプログラムが添付されているようで私のセキュリテーイソフトが拒否しました。宜しくお願いします。
- 締切済み
- PostgreSQL
- ryuhotaru
- 回答数1
- postgres 強制的に連番を取得する事は可能?
postgres 強制的に連番を取得する事は可能ですか? 例えば、IPアドレスの最後の桁と用途を管理するテーブルがあるとします。 table_a ( item1 integer, -- IPアドレスの最後の桁 item2 character varying -- 用途 ) item1 item2 ----- ----- 1 デフォルトゲートウェイ 3 複合機 11 サーバー1 12 NAS 21 A氏のPC 22 B氏のPC 23 C氏のPC これを0から255まで空きを含めて一覧で表にしたいという場合、何か方法ありませんか? item1 item2 ----- ----- 0 1 デフォルトゲートウェイ 2 3 複合機 4 5 6 7 8 9 10 11 サーバー1 12 NAS 13 14 15 16 17 18 19 20 21 A氏のPC 22 B氏のPC 23 C氏のPC : 255 以下の2つは思いつきますが、あまりやりたくありません。 ・1件1件ぐるぐる回してSQLを発行する。 ・0から255の値を固定で持ったテーブルを別途作成し、それに対してジョインする。 1つのSQLで発行する方法はありませんか?
- ベストアンサー
- PostgreSQL
- linuxorfe
- 回答数1
- SQL カウント 以上 以下
失礼します。現在ある日付の範囲から3回以上、4回以下(main_id)が重複しているデータを抽出したいのですが、日付の範囲と3回以上までは出来たのですが、 4回以下という条件の追加が上手くできません よろしければご教授お願い致します。 以下に指定日時範囲から3回以上まで作成した例を記載します。 SELECT * FROM old_テーブル名 where 日時 between '2017-08-01' and '2017-08-10' AND (main_id) in (SELECT main_id FROM テーブル名 GROUP BY main_id HAVING COUNT(*) >= 3); 3の後に AND COUNT(*) <= 4とやってのですが上手くいきませんでした
- ベストアンサー
- PostgreSQL
- losloson
- 回答数3
- postgresql primary_key
失礼します。 今回重複データの削除等をしたテーブル 例: ------------------------- id | name | 1 | hoge | 8 | piyo | 12 | temp | ------------------------- このようなserial型でprimary_keyに設定したidの値を1,2,3と振り直したいです。 探してみるともしかしたらそのような事が不可能なのかもと思って投稿しました。 宜しくお願い致します。
- ベストアンサー
- PostgreSQL
- losloson
- 回答数3
- java からpostgreSQLを操作
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
- kuritoguri
- 回答数2
- Postgreresqlで「 \ 」が打てない
PostgreresqlのSQLshellで、半角バックスラッシュ(\)を入力すると、アンダースコア( _ )に自動変換されてしまって入力できません。そのため、SQLshellで「\q」などのバックスラッシュを伴うコマンドが認識されません。 ただ、ターミナルやその他のアプリケーション内では、バックスラッシュの入力ができます。つまり、SQLshell内のみで入力ができない状態です。 文字エンコードの問題かなとも思いますが、うまい具合に解決できずに困っています。ご回答宜しくお願いします。 また開発環境は、MacOSでELcapitaを使用し、PostgresSqlは9.6を使用しています。
- 締切済み
- PostgreSQL
- DreamWEBer
- 回答数1
- PostgreSqlのinterval型のフォーマ
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
- 締切済み
- PostgreSQL
- questorfe
- 回答数1