PostgreSQL Part.11©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
datdbaseをCREATEする権限をグラントするコマンドを教えてちょうだい windowsなのですがまずdvdrental.tarをインポートするやり方からわからないです
教えてください >>731
ttps://dev.classmethod.jp/etc/postgresql-create-sample-database/ そのまま丸写しではできなかったですがあちこちにに書いてあることを総合したらなんとかできました
どうも pgadmin4でクエリエディタの内容をコピペする方法ないの?どうするのこれ? 職業訓練でポスグレやってるんですが、自宅でインストールして使おうとしたらコレが出たんですがどうすれば使えるようになりますか?
https://i.imgur.com/xDqFtox.jpg >>738
管理者としてインストールしました
何回か再インストールしてもダメなんです >>739
Windowsでの話?
環境何も書いてないのはエスパー求むってことか? >>741
Windowsです
サーバーソフトはtomcatを使ってます 一応聞くけどポスグレのインストールはデフォルトでエンター連打でインストールしたって理解でいいか? >サーバーソフトはtomcatを使ってます
唐突に謎すぎるw
もしかしてデータベースサーバーというものを知らない? tomcatはjavaサーバーで今の問題には
特に関係ないからいいとして、
1.postgresqlをloalhostにインストールしているか?
2.postgresqlをport5432でインストールしているか?
3.windows上のサービスとして起動しているか?
この辺教えて それ以前にこれまでしてきたことと、その結果を時系列で書いてもらわんと
誰も何も分からないと思う。 >>746
それを答えられるヤツは、あんな質問をしないやろ。w 職業訓練でそんな授業あるんか
ええな
俺も行きたいわ >>750
15年ぐらい前だけど職業訓練の一環でうちの会社に訓練生が現場実習として2週間ぐらい来たことあったのでそう言う奴かも 初心者的な事聞いていいっすか?
テーブルに時間として格納された整数値を現時刻と加算したいんだけどどうするの?
定数としては+ n hourで出来たけど、項目だとできなくて >>753
手元に環境ないから試してないけど
select CURRENT_TIME + make_interval(hours := xxx)
ではどうかな >>753
時刻を数値で扱っている時点で初心者ではない。 UNIX TIMEだろ?
それくらい誰でもするやろ。 象
オウム教が象被ってたから、日本ユーザ会が元々postgres95で使ってた亀を使ったという話。 CREATE USERとCREATE TABLEとINSERTとUPDATEとSELECTぐらいしか使わない俺が来ましたよ!
ポスグレ触りだして10年以上たってるのに・・・ DELETE使わないって全データ論理削除っすか?
と釣り針にかかってみる。 dropdb -h all -p all -d all -U all 書き込みが無いのは「何も困ることが無い程良いDB」という認識で良いか? Oracleを仕方なく仕事で使い始めたが、PostgreSQLと比べてOracleのダメさが
使えば使うほど感じるようになり、このスレには何も書けない状態。 Oracleはドライバーの更新が遅すぎて世の中の流れに全くついていけてないからなあ 高い金出せば楽できるDBMSならわかるけどOracleは金も手間もかかるからな
ライセンスのマージンが美味しいと思ってるアホなSI以外は使う理由がない なのになんで大規模なとこOracle使うんでしょうね >>773
いつの時代の話だよw
大規模ほどOracleなんて使わない >>772
>>Oracleは金も手間もかかるからな
MySQLやPostgreSQLへOracleから移行する例が少ないね
何でだろう >>775
「自分が知らない/調べられない== 少ない」と思い込みたいのかな?
ググればいくらでも出てくるし
シェアの変遷を見ればどこに移行してるかなんて明らか >>776
PostgreSQLへ移行してるって話かね
世界的にはMySQLだけど 結局RACだろ。RACがいらないならOracle使う意味はない。 ちょいと教えて欲しい。
psqlで
テーブル存在しない状態で
DROP TABLE IF EXISTS aaa;
をやると
NOTICE: table "aaa" does not exist, skipping
と表示されるけど、これを抑制するオプションとか無いかな?(´・ω・`) interval 型の列を分や秒の値にした結果をselect文で得るにはどうすればよいですか。
列1: name text型
列2: term interval型
select name, term, ??? from table1
得たい結果
期間1, 00:32:00, 32
期間2, 02:05:00, 125 EXTRACT(EPOCH FROM INTERVAL term)で秒になる 同一サーバ(PC)で、
データベース - スキーマ - テーブル
となっています。
別のデータベースのテーブルを直接参照する事は
できますか? PostgreSQLの初心者です。
バージョン11をLinuxディストロに入れました。
サーバーの起動方法がいくつかあることを知りました。
どれが正しいやり方なのか、あるいは異なる意味を持つ起動方法なのか
わかりません。
PostgreSQLをインストールしたときには
pg_ctlcluster 11 main start
という起動方法を指示されました。
PostgreSQL11のドキュメントにしたがってデータベースクラスタなるものを作成したときには、
pg_ctl -D /usr/local/pgsql/data -l <ログファイル> start
という起動方法を指示されました。
Linuxでサービスを管理をする方法として
systemctl start postgresql
service postgresql start
といったものもあります。
これらはそれぞれ違う用途による起動方法でしょうか?
それとも好きな起動方法を選択できるんでしょうか?
pg_ctlclusterがpostgresユーザー権限で操作できることは知っています。 >>790
むしろ、Linuxの初心者でもあるな?
OSも書かんと。CentOS8? >>791
返事くださってありがとうございます。Debian10です。
どの起動方法も可能ですが、
異なる起動方法によって何か挙動が異なるのか迷って
経験のある方に助言をいただきたくて。 >>792
やみくもにネットの情報を頼りにするより、ちゃんとまとまった古本でも買った方がいい。
何がなんだか自分でもわからなくなるぞ。PostgreSQLの世界はこれが普通というのがないんだから。 >>793-794
大変ありがたい助言。参考にさせていただきます。 >>792
Linuxがsystemd系ならsystemctlコマンドを使うべきだと思う。
挙動が違うかどうかは設定による。
そのへんが気になるなら、他人に聞くのではなく、自分で自分のマシンを確認するべき。
man systemd.serviceとかから?
https://qiita.com/JhonnyBravo/items/a28074c20fa9adf02be3 >>796 ありがとうございます。
その後、さらにいろいろ調べつつ試した結果、
PostgreSQLには同じ操作をするのにいくつかの異なる方法(ラッパー)が用意されていて
複雑であることが分かりました。
Linuxディストリビューションのパッケージを利用した場合、
そのディストロの流儀に第一に従うべきかもしれません。
とすると、root権限でもってsystemctlかserviceコマンドでPostgreSQLサーバを起動することになりそうですが、
PostgreSQL11のドキュメントには次のように書かれてありました。
https://www.postgresql.jp/document/11/html/server-start.html
{何を実行するにしても、サーバはPostgreSQLユーザアカウントで起動させなければなりません。
rootであってはいけませんし、他のユーザでもいけません。}
このドキュメントに従う場合、systemctlやserviceは使えなさそうです。
しかしpostgresになってpg_ctlclusterで起動したとき、
Warning: the cluster will not be running as a systemd service. Consider using systemctl
という警告メッセージが表示されるのでsystemctlを使うべきことを示唆しているように思えます。
ちなみに、pg_ctlclusterを使って起動した場合、
systemctl status postgresqlでは停止中と表示されてしまいます。
今のところ分かったのはこんなところです。
何かお気づきの点があったら助言いただけるとありがたいです。 pg_ctlclusterを使って起動した場合systemctlには反映されず、
systemctlを使って起動した場合pg_ctlclusterに反映されます。 >>797
ためしにrootでsystemctl startしてから、起動されたプロセスのユーザーをpsでちゃんと確認してみろ。
rootで実行したからって、プロセスがrootとは限らん。
サービスの多くは専用ユーザーを割り当てるのがあたりまえ。ドキュメントにあるのはその念押しみたいなもん。
詳しくは、マシンにたぶんあるサービスのユニットファイル(サービス名.service?)を探して読め。
なかったら、init.dの起動スクリプトかな?
どうやって起動するかが書いてあるから。ユーザーとかオプションとか。 >>799
おっしゃるとおりでした。ps axuで調べたらUSERがpostgresでした。 ポスグレはOSと密接だからrootユーザーが基本。
SQL Serverは管理者権限のあるローカルユーザー
Oracle DatabaseはOracle Database専用ユーザーを作って使用する 自分の知っている世界だけでものをいうやつは必ずいる。
必ずこうと言っているわけではないので、その人の主観ではおかしいことになるのは理解できる。 ポスグレに関してはrootユーザー以外なら、ポスグレ専用ユーザーを作って使う。ポスグレがOSSだと知っていれば、いろんな権限がないと不都合なので、自身があれば自由にしてくれ。 まあ、ユーザーをそんなに意識することはないけどな。
サービスが起動されるときに自動的に使用されるもんだし、ログインして使うもんではないし。 どのOSユーザーで動いているのか意識しないなんてありえないだろ いちいち意識なんかしねえわ。
最初にきっちり設定しとけよ。 >>809 みたいなのがいるから、rootユーザーを使うことになったりする。 OSSなのに他人にお膳立てしてもらうが当たり前というのはおかしすぎる。 Webプログラム上にrootという名前とパスワードを書き込んでおくのは常識 なぜマルチユーザーにしないといけないのかわかってないやつは、結局、何もかもできる便利な管理者ユーザーでやってしまう。 学習していて、継続的アーカイブとポイントインタイムリカバリがよく分からないのですが・・・・
https://www.postgresql.jp/document/12/html/continuous-archiving.html
https://youtu.be/MCgWUyKQ6YM?t=2744
リストア時に消してしまうWAL(動画でいうWAL1~3)は、なぜ消してしまって復元できるのですか?
ドキュメントの方には、
>少なくともバックアップの開始時点まで遡る、連続した一連のアーカイブ済みWALファイルが必要です。
と買いてあるにもかかわらず、WAL1~3が抜けてしまって戻せる理由のが不思議でたまりません >>819
それ資料と説明の仕方が悪いと思う。
WAL1〜3はアーカイブ(バックアップ)されているから大丈夫という意味だけど、メトロの女講師の説明がおかしくてわかりにくくなっている。
この講師の説明だとわかっている人間でないとわからないと思う。 勝手にぽすぐれって読んでたんですが、みなさんぽすとぐれすって読んでるんですか? >>820
アーカイブされたWALはどこかにあるのが前提なんですね
ありがとうございます >>821
ポスグレと呼ぶのは日本の通称
ポストグレスは英語圏の通称
ポストグレエスキューエルは、最近では無難な言い方。
ポストグレスキューエルは英語圏のださいオナニー表現で、あまり言われない。
技術者同士ならポスグレ、外国人がいる場合はポストグレス、一般人がいる場合はポストグレエスキューエル。
もともとはPostgresが製品名だから、グローバルではポストグレス。 >>824
アーカイブファイルに同じ番号をつけて説明しているから、あの動画はわかりにくい。
あの動画のメトロの女の知識があやしい。本当に理解してないのに台本を読んでいるから、あんな体たらくになっている。 ■ このスレッドは過去ログ倉庫に格納されています