PostgreSQLのパッケージに含まれているクライアントプログラムの1つ。 データベースにアクセスして、コマンド操作を行える。 また、-f オプションでファイルに記述したSQL コマンドを垂れ流すことができる。
例
psql database_name psql -d database_name psql -U user_name psql -f sql_command_file
結論 環境変数に各種設定項目を設定して実行します。この環境変数は psql コマンドと共通です。 direnv で設定するとたとえば接続先ごとに柔軟な変更ができます。 例 $ export PGSSLMODE="verify-ca" $ export PGSSLROOTCERT="server-ca.pem" $ export PGSSLCERT="client-cert.pem" $ export PGSSLKEY="client-key.pem" $ pgcli -h localhost -p 5432 -U username -d postgres 参考 参考の参考 psql では環境変…
大規模なシステムでは、パフォーマンスやセキュリティ上の制約により、複数のデータベースをシャーディング(水平分割)するアーキテクチャを選択するケースは多いかと思います。 多くのPostgreSQLユーザーはpsqlコマンドを使って調査や保守を行いますが、シャーディングにより沢山のデータベースを管理するようになると、データベースの接続先を入力するのはとても面倒な作業となります。 エンジニアたるもの、「面倒だ」と思う心は大切にすべきです。 今回はシャーディングされたデータベースをpsqlで管理するための工夫をご紹介します。 寺岡 佑起(テラオカ ユウキ)AWS Summit 2022で発表してきまし…
psqlコマンドを実行する際にパスワード入力を省略するためのメモになります。
psqlコマンドを利用し、外部データベースにアクセスできるまでのメモになります。
結論 -P pager=off オプションを付与します。 例 例えば、以下のようにコマンドを実行すればページャが発動しません。 $ psql -P pager=off -U foo-p 5432 -d my_database -h localhost -c "SELECT relname, n_live_tup FROM pg_stat_user_tables WHERE schemaname='public';" 使いどころ psql の結果をログとして自動取得する際などに有効かと思います。 例えば、上記のコマンド例での SQL文 は、全テーブルのレコード数一覧を表示するものになりますが、こ…
GUIアプリケーションであれば横スクロールという方法があるので長くてもなんとかなります。ただ、psqlやpgcliを使っている以上は横スクロールなんていうことはできません。 発想の転換をします。すべて縦に表示してしまったら別に問題がないのではないでしょうか?探すと実行する前に-xオプション(expanded output)を実行すると縦にデータが表示できるのがわかりました。 実際に見てみましょう。 GUIアプリケーションをつかったらいいのでは? GUIアプリケーションを使うのもいいのですが、総じてそういったアプリというのは重いもので立ち上がるまでの待ち時間と色々ポチポチするだけ時間がもったいな…
WindowsのPCでRailsの開発ができるように 手順 インストール インストールを確認 PostgreSQLのスイッチを入れます 開発環境用のユーザーを作成(ここからは必要な方のみ) 開発環境ユーザー名とUbuntuユーザー名を同じに設定 railsのGemをインストール WindowsのPCでRailsの開発ができるように www.michidemy.com www.michidemy.com www.michidemy.com www.michidemy.com 手順 Railsを利用する場合は、データベースをインストールします。 のちにherokuというサービスでの公開を考えている…
データベースの勉強をするときに書いたクエリを実際に試すことはとても重要ですよね。しかし、私はこれまで書いたクエリを試すための環境構築が面倒で下のサイトを利用して SQL を実行していました。 www.db-fiddle.comこのサイトはとても便利なのですが、毎回 CREATE TABLE から始めなければならなくてこれはこれで面倒なのと、やはりローカルに入れて勉強した方が深いところまで学ぶことができるのではないかと感じたので試してみることにしました。 動作環境 Docker image の取得 docker-compose.yaml の作成 構築した環境を使う 動作環境 動作確認は WSL …
状況 $ psql を実行すると無情に以下のようなエラーが出続けるという状況です*1。 psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? *1:環境や状況によってエラーメッセージは微妙に違います
はじめに Steampipe とは何か dbt-steampipe を動かしてみる aws プラグインを使って aws のコストデータを取得する さいごに はじめに たまたま steampipe のサポートプラグインを見たら、結構充実していた。ちょっと調べたら dbt-steampipe プラグインも作られており、これを使ってクラウドサービス関連のデータ収集が dbt 上で管理できれば便利なんじゃないかと思ったので検証してみた。 Steampipe とは何か Steampipe はいろんなクラウドサービスの API をラップして SQL でデータ取得できるインターフェイスを用意してくれる OS…
svl_query_summary.is_rrscan では判断できない。rows_pre_filter - rows で判断する。 ソートキーがないとき テーブルを作成する CREATE TABLE lineorder ( lo_orderkey integer not null, lo_linenumber integer not null, lo_custkey integer not null, lo_partkey integer not null, lo_suppkey integer not null, lo_orderdate integer not null, lo_orde…
現在取り組んでいる仕事で、かなり大きいサイズのデータベーステーブルを作る必要がありました。正直言ってそれを簡単に作る方法はいくつかあるのですが、テーブルのフィールド(表計算ソフトで言うところのセル)に乱数が入っていたり、aとかbとかcとかいう適用な文字列が入っていたり...といったようなデータは用意できるのですが、それをSELECTしてもなんか面白くありませんし、そのデータを使って集計処理とか色々するにもちょっと都合が悪いので、PostgreSQLに簡単にラージサイズのテーブルを作るものを作ってみました。 データベースとテーブルの作成 データベースを作成して、それに切り替えます。 =# CRE…
psqlとかpg_ctlとかの場所は、PostgreSQL11なら以下の通り。 /usr/pgsql-11/bin ちなみにデータディレクトリは以下にある。 /var/lib/pgsql/11/data どうしても見つからなかったらfindで探しましょう。 find / -name pg_ctl
By Daniel Lundin - PostgreSQL License ランキング参加中GPT 目次 なぜ PostgreSQL をインストールするのか PostgreSQLをインストールする方法 インストーラを起動 Locale設定は「Default Locale」or「C」? データベースへの接続確認 最後に なぜ PostgreSQL をインストールするのか 大学院に入れるなら、日本映画の文化的立ち位置を研究したい、と考えています。 そのとき、データをPythonで分析することを考えて「Python を知らないシニアがBing Chatの力を借りてプログラムを作る」という記事を書きま…
どんなもんか動かしてみるくらいなら手元のマシンに Docker 立てればいいのだけど、一応マイホーム🏡として使うべく Misskey お一人鯖を立ててみたのでそのメモ。きれいにまとめてはいないです。 意外とインターネット上にはまだ情報が少なくて、細かいノウハウは先に鯖缶(サーバー管理者)をやってる先輩に聞くとか、真面目にソースコードなどを読むとかになる状況。まぁそのくらいが楽しかったりはする。 一部訂正(3/12): インターネット上に Misskey 構築の情報はたくさんある。探し方悪いだけだった(苦笑)ただ、この記事もそうだけど、特定の IaaS に依存してたり Misskey のバージョ…
はじめに こんにちは。ACS事業部)土居です。 先日Aivenについて紹介しましたが、今回はAivenのVirtual Private Cloud(以降VPCと呼びます。)を試してみます。 Aivenはデフォルトでサービスを作成すると、パブリックに公開にされます。 これは昨今のクラウドサービスを利用する上では当たり前な所ではありますが、昨今はセキュリティの観点もありリソースをそれぞれ閉域ネットワークに閉じる事で通信アクセスもプライベートに制限するケースも多いです。 また、AivenはOSSのデータプラットフォームなので、各パブリッククラウドで利用されているシステムから接続したり相互に連携するこ…
Go は Makefile との親和性が高いみたく、ちょっと使ってみたので今回はその個人的な紹介です。 どの Go の本にも書いてあるので、gopher なら何かしらみんな使ってるものと思ってます。 目次 Makefile って何よ by Chat-GPT by 詳細 Go 言語 web アプリケーション Makefile 例 hello world デフォルトのランナーを設定する 引数を受け取る if 文 エイリアスを作る for 文 help 文 注意点 おわりに Makefile って何よ そもそも Makefile って何よってのがあると思うので、皆さんの説明を聞いてみます。 個人的な…
バージョンを確認 psql --version postgresql起動 brew services start postgresql postgresqlの状態を確認 brew services list サービスのリストを出力することで、postgresqlが起動しているかチェックできる。 % brew services list Name Status User Plist mysql stopped postgresql started user /Users/user/Library/LaunchAgents/homebrew.mxcl.postgresql.plist データベース…
■ はじめに システムの マイグレーションを行っているのだが、 PostgreSQL 互換の AWS Redshift のテーブル情報の一覧が欲しい とのことなので調べてみた。 目次 【1】システムが保持しているビュー 1)pg_namespace 2)pg_class 3)pg_tables 4)pg_stat_user_tables 【2】使用上の注意 【3】サンプル 例1:テーブル一覧(行数&サイズ付き) 例2:ユーザテーブルを行数が多いごとに表示 【4】補足:Redshift について 1)Redshiftのブロック数「relpages」 2)Redshift の システムビュー 【1…
1.本記事について 2.準備したDB環境 3.BudibaseとDB環境の接続 4.DB環境の展開 5.サンプルDB定義の投入 1.本記事について AWSにてBudibaseの環境を構築してみたので、データ保管先のDBを準備した。 その備忘録。 2.準備したDB環境 実務で想定しているpostgresql-9.6を作成。(古いが・・) 適切なイメージがあったので、これを利用する。 https://hub.docker.com/r/postgresqlaas/docker-postgresql-9.6 # コンテナイメージの取得 docker pull postgresqlaas/docker-…
pgloader とは MySQL のデータを PostgreSQL にデータを移行するためのソフトウエアです*1。Heroku でも利用を推奨しています 。 github.com pgloader.io pgloader.readthedocs.io pgloader の問題点 MySQL 8 以降から移行する場合には認証の関係でそのままでは動かないことがあります。 github.com 問題点を解決する 上記の問題点を解決するために、以下の手順を採ります。 *1:必ずしもそれ専用ではないが、その用途に適している
UbuntuにはPostgreSQLパッケージが提供されていますが、PostgreSQLコミュニティが提供しているパッケージを使うこともできます。 次のページからディストリビューションを選択していくと、導入方法が書かれたページに遷移されます。 www.postgresql.org PostgreSQLコミュニティが提供しているパッケージを使うと、インストールできるPostgreSQLのバージョンが増えます。このパッケージを使ってインストールしたPostgreSQL Server 13にアクセスしようとしたら、デフォルトで作成されるpostgresユーザーでしかCLIでアクセスできませんでした。…
解決した方法 今までは問題なかったが、dockerからpostgresに接続できなくなった。 最近ホストマシン側にpostgresを入れたという心当たりがあったので、 lsof -i :5432 したらいらないプロセス(dockerじゃない)があった。 試行錯誤の末、正直ホストマシンに直接postgresを入れておきたい理由もないので、 brew uninstall postgresql して解決。 やはりDBとか低レイヤに近い部分をホストマシンで どうこうするのは微妙そう。 今後はできるだけdockerで対応したい。 試行錯誤 kill -9 PIDの数字 としてもいらないプロセスは復活する…