MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2017年3月10日 星期五

EnterproseDB Quickstart — 快速入門筆記


由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記

這篇筆記以資料庫安裝完畢後的快速使用為目標,基本紀錄登入使用的範例:


[201905 更新] EDB 企業版的軟體安裝方式更新了~EDB PostgreSQL 企業版資料庫的 RPM 套件安裝方式

  • EDB 和 PostgreSQL 的 GUI
GUI 有不只一款,以下列出三款
  1. pgAdmin: PostgreSQL administration and management tools
  2. postage: A fast replacement for PGAdmin
  3. pgModeler - PostgreSQL Database Modeler


但是要使用企業版的 Oracle 相容語法,則需要 PEM Client,註冊登入後可以免費下載。
(Update:新版的 pgAdmin4 已經能支援企業版的 Oracle 相容語法,也能夠不用安裝 PEM Client 就可以連到 EDB 企業版使用 Oracle 相容語法。)

  • 資料庫安裝完畢後的快速使用
以下預設 EDB 資料庫服務安裝於 Linux 底下。

1. 連線進入資料庫:請使用 SSH 連線到主機的 enterprisedb 作業系統帳號
    依序執行以下指令,設定環境變數
bash-$ echo "source /opt/PostgresPlus/9.5AS/pgplus_env.sh" >> ~/.bash_profile
bash-$ echo "source /opt/PostgresPlus/9.5AS/pgplus_env.sh" >> ~/.bashrc
bash-$ source /opt/PostgresPlus/9.5AS/pgplus_env.sh

2. 使用 Command Line Tool psql 連線進入資料庫
psql -d edb
Password: 
psql.bin (9.6.2.7)
Type "help" for help.

edb=#

3. 列舉現有 Database,建立 Database
edb=# create database dev_db;
CREATE DATABASE
edb=# \l
                                          List of databases
  Name    |    Owner     | Encoding |  Collate   |   Ctype    | ICU |       Access privileges       
-----------+--------------+----------+------------+------------+-----+-------------------------------
 dev_db    | enterprisedb | UTF8     | zh_TW.utf8 | zh_TW.utf8 |     |
 edb       | enterprisedb | UTF8     | zh_TW.utf8 | zh_TW.utf8 |     | 
 postgres  | enterprisedb | UTF8     | zh_TW.utf8 | zh_TW.utf8 |     | 
 template0 | enterprisedb | UTF8     | zh_TW.utf8 | zh_TW.utf8 |     | =c/enterprisedb              +
           |              |          |            |            |     | enterprisedb=CTc/enterprisedb
 template1 | enterprisedb | UTF8     | zh_TW.utf8 | zh_TW.utf8 |     | =c/enterprisedb              +
           |              |          |            |            |     | enterprisedb=CTc/enterprisedb
(4 rows)

edb=#

4. 建立帳號,設置密碼,列舉帳戶
edb=# create user dev_user1;
CREATE ROLE
edb=# alter user dev_user1 password 'passwd';
ALTER ROLE
edb=# \du
                                         List of roles
       Role name       |                         Attributes                         | Member of 
-----------------------+------------------------------------------------------------+-----------
 aq_administrator_role | No inheritance, Cannot login                              +| {}
                       | Profile default                                            | 
 dev_user1             | Profile default                                            | {}
 enterprisedb          | Superuser, Create role, Create DB, Replication, Bypass RLS+| {}
                       | Profile default                                            | 
edb=# 

5. 建立 Schema
與 Oracle 不同,Postgres 的架構與 MS SQL Server 相似:
資料庫空間與帳號互不相關。
Database 裡面有 Schema,類似 Oracle 裡面擁有空間的帳戶。而名稱不需要與帳戶一樣。

以下在 dev_db 中建立 Schema dev_schema,賦予使用該 Schema 權限給 dev_user1
edb=# \c dev_db 
You are now connected to database "dev_db" as user "enterprisedb".
dev_db=# create schema dev_schema;
CREATE SCHEMA
dev_db=# grant all ON SCHEMA dev_schema to dev_user1 ;
GRANT

6. 用剛剛建立的帳戶連線到剛剛建立的 Database,建立表格到 dev_schema 底下
dev_db=# \c dev_db dev_user1 
Password for user dev_user1: 
You are now connected to database "dev_db" as user "dev_user1".
dev_db=> create table test(id int);
CREATE TABLE
dev_db=> set search_path to dev_schema ,public;
SET
dev_db=> \d
           List of relations
   Schema   | Name | Type  |   Owner   
------------+------+-------+-----------
 dev_schema | test | table | dev_user1
(1 row)

7. 離開
dev_db=> \q

8. 設定外部連線:編輯 $PGDATA/pg_hba.conf
以下設定允許所有 IPv4 網段連線到資料庫,用密碼進行認證,並使用 MD5 處理過的密碼進行傳輸。
詳細設置內容請參照

bash-$ vi $PGDATA/pg_hba.conf

host    all             all             0.0.0.0/0            md5

重新載入設定值
bash-$ pg_ctl -D $PGDATA reload
server signaled

9. 生效,其他人可以開始從外部連線進入使用

最後,就是要開始學習 PostgreSQL 和 EDB 了~

可以參考以下網站
Postgres Rocks! Powered by EDB - Home - Postgres Rocks
Getting Started with EDB
Postgres Guide
PostgreSQL wiki
PostgreSQL® Notes for Professionals book
PostgreSQL中文手册翻译计划
PostgreSQL Exercises
瑞奇哥's技術扎記 :: 痞客邦 PIXNET ::

PostgreSQL是什么?StackOverflow上开发者最爱和最想要的关系型数据库-博客-云栖社区-阿里云

下面是「德哥」系列,比我的筆記完整多了~
2011年功力的德哥教你两天撸通PostgreSQL - 入门、开发、原理、管理、调优-博客-云栖社区-阿里云
一天学会PostgreSQL应用开发与管理 - 8 PostgreSQL 管理-博客-云栖社区-阿里云

以下好像是一本 PGSQL 簡體中文書的前三章,用來釣新用戶來買書的樣子~
只要看完這些就會基本的使用了!比較懶的馬上就看德哥系列的人可以考慮先從這裡下手。感謝相關的好人們分享

1 則留言: