postgresql

私的Q&Aメモ

データベースを使用するためにインストールするものは? # yum install postgresql postgresql-server インストールしたらユーザpostgresが勝手に作成されたけど… postgresqlのスーパーユーザpostgresが勝手に作成されます。 でも、ユーザとしてパスワードが…

postgresqlのスキーマでハマった

search_pathのデフォルトは? hoge_db=# SHOW search_path; search_path -------------- $user,public (1 row) 作成したテーブルはデフォルトでどのスキーマに所属するのか? hoge_db=# CREATE TABLE hoge_table (id integer,data text); CREATE TABLE hoge_…

rubyでexec_preparedを使うとき

例えば、以下のようにプログラムを書いていた。 conn.exec_prepared("stmt",[hoge_1,hoge_2,hoge_3]) exec_preparedの引数が多いときは、一行がとても長くなってしまい、ちょっと困っていた。 でも、少し考えて、気づいたのだが、配列で渡してやれば良いんだ…

postgresqlでテーブルをロックする

以下、手順メモ BEGIN; LOCK TABLE hoge_table IN EXCLUSIVE MODE; COMMIT; LOCK〜の時点で、hoge_tableはロックされる。 但し、COMMITを実行した時点でロックは解除される。 ロック中でも、SELECTだけは実行可能。ちなみに、SELECTも実行できないようにする…

timestamp型で登録したデータが30分以上前だったら、削除する。

実現したかったことは題名の通り。テーブルは下記のように作成。 CREATE TABLE ( insert_time timestamp default now() primary key, sid character(5) ) 構成は下記の通り。 Column | Type | Modifiers -------------+-----------------------------+------…

rubyからpostgresqlにアクセスする。

rubyでpostgresqlを使いたかったんです。 Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)を読んでみると、 ruby-pgライブラリを使えば接続できるみたいなんで、インストールした。 $ gem install pg 基本的な操作 以下の通…

列を追加して、属性を追加して。

既存のテーブルに列を追加したくなりました。 既存のテーブルhoge_tableに列hogeを追加するには、以下の通りです。 ALTER TABLE hoge_table ADD COLUMN hoge timestamp;でも、既存のテーブルに追加した列はDEFAULT属性を列追加時には 一緒に設定できません。…

他ホストからアクセスできるようにする。

postgresqlで構築したDBサーバにアクセスできるようにする手順以前、軽く触れたが改めて触れる。 Fedora8にpostgresqlをセットアップしたログ - rderaログ まず、 # vi /var/lib/pgsql/data/postgresql.conflisten_addresses = 'localhost'以下に変更↓↓↓ lis…

PerlからDBIを使って、postgresqlにアクセスする。

まず、パッケージが必要。 $ yum -y install perl-DBI-Pg コード #!/usr/bin/perl use strict; use warnings; use DBI; &main(); exit; sub main { my $db_name = "test_db"; my $db_host = "db"; my $user_name = "postgres"; my $user_pass = ""; my $tabl…

mac環境でperlからpostgresqlにアクセスする

postgresqlのversion % psql --version psql (PostgreSQL) 8.4.2 contains support for command-line editing perlプログラム 以下のperlプログラムからpostgresqlにアクセスしようとしたけど、 エラーが出てアクセスできなかった。 #!/opt/local/bin/perl u…

timestamp型の値をperlから計算してハマった。

postgresqlのデータベーステーブルに入っているtimestamp型の値を1日進めた値が欲しかった。やり方は、 ■ - fyamaの日記に書いている通りやって、できた。 my $v_time = "'2009-03-24 16:00:00'"; my $v_interval = "'+1 day'"; my $query = "SELECT CAST(? …

Fedora8にpostgresqlをセットアップしたログ

yumでインストール [root]# yum -y install postgresql postgresql-serverサーバだけならpostgresqlだけで良いと思うのですが、 一応クライアントもインストールしました。 データベースクラスタ初期化 postgresqlのスーパーユーザであるpostgresになって、 …

jdbcのINSERTでちょっとハマった。

データペースtest_dbのテーブルtest_tableが以下のようなレコードで構成されている。 test_db=> \d test_table; Table "public.test_table" Column | Type | Modifiers -------+--------------+----------- ID | integer | STR | character(1) |このテーブル…

Fedora9にyumでpostgresqlをインストールした

まず、yum [root@localhost]~# yum install postgresql.i386 postgresql-server.i386 初期化 ユーザpostgresになってから、初期化する [root@localhost]~# su - postgres [root@localhost]~# initdb -E UTF-8 --no-local データペース開始 ユーザrootで以下…

テーブルのデータ構造を表示させたい

rdera=> \d test_table Table "rdera.test_table" Column | Type | Modifiers --------+--------------+----------- str | character(5) | not null id | integer | Indexes: "test_table_pkey" PRIMARY KEY, btree (str) \d に テーブル名を与えてやるだけ…

javaでデータベースにアクセスする方法を学ぶために参照している資料

Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle 連載記事 「Javaデータアクセスの基礎」 Javaデータアクセス実践講座 (DB Magazine SELECTION)作者: 松信嘉範出版社/メーカー: 翔泳社発売日: 2008/02/28メディア: 単…

MacOSX 10.5のJava環境からpostgresqlにアクセスする

javaプログラムからpostgresqlにアクセスしてごにょごにょしたいと思いました。 初めは、怒られてばっかりでした。 java.lang.ClassNotFoundException: org.postgresql.Driver なんて言われてました。 でも、Google先生に聞いたりしたら解決しました。javaの…

MaxOSX10.5にPostgreSQLをインストールして色々できるまで

mac portからインストールする % sudo port install postgresql83 postgresql83-server 自動起動するように こうしなさいって、MacPortに言われる。 % sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist よく分かって…