アプリの新しい環境を作成する必要があるたびに実行している次の 3 つの手順があります。手順 3 はコードの一部にすぎません...
最初のステップでデータベースを作成し、2 番目のステップでロールとユーザーを作成し、最後に構造を作成してデータベースのテーブルを作成します。
私のAPPでは、次のように休止状態でデータベースに接続しようとしています:
<property name="connection.url">jdbc:postgresql://localhost:5432/LGP_VREF</property>
<property name="connection.username">lgp_appuserdb</property>
<property name="connection.password">ccccc</property>
...
通常、私は postgres を使用しないので、postgres のロールとユーザーの概念を理解していないと思います。
次のエラーが表示されます。
DEBUG BasicResourcePool:1831 - プール可能なリソースの取得中に例外が発生しました。再試行します。org.postgresql.util.PSQLException: FATAL: データベース「LGP_VREF」が存在しません
ログインできないのはなぜですか? すべて問題ないようです。
新しいアンビエントの私の手順:
ステップ1
CREATE DATABASE "LGP_VREF" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'pt_BR.UTF-8' LC_CTYPE = 'pt_BR.UTF-8';
ステップ2
CREATE USER adm_userdb_temp WITH PASSWORD 'aaaaa' SUPERUSER VALID UNTIL '2013-07-07';
CREATE USER adm_userdb WITH PASSWORD 'bbbbb' SUPERUSER;
CREATE USER lgp_appuserdb WITH PASSWORD 'ccccc';
CREATE ROLE appUsers INHERIT;
GRANT SELECT, UPDATE, INSERT, DELETE ON ALL TABLES IN SCHEMA public TO appUsers;
GRANT appUsers TO lgp_appuserdb;
ステップ 3
CREATE TABLE students (
id integer NOT NULL,
data_entrada timestamp without time zone DEFAULT now(),
descricao character varying(255),
experiencia character varying(255),
formacao character varying(255),
informacoes character varying(255)
);
ALTER TABLE public.students OWNER TO appUsers;