由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~
這篇筆記以資料庫安裝完畢後的快速使用為目標,基本紀錄登入使用的範例:
這篇筆記以資料庫安裝完畢後的快速使用為目標,基本紀錄登入使用的範例:
[201905 更新] EDB 企業版的軟體安裝方式更新了~EDB PostgreSQL 企業版資料庫的 RPM 套件安裝方式
- EDB 和 PostgreSQL 的 GUI
GUI 有不只一款,以下列出三款
- pgAdmin: PostgreSQL administration and management tools
- postage: A fast replacement for PGAdmin
- pgModeler - PostgreSQL Database Modeler
但是要使用企業版的 Oracle 相容語法,則需要 PEM Client,註冊登入後可以免費下載。
(Update:新版的 pgAdmin4 已經能支援企業版的 Oracle 相容語法,也能夠不用安裝 PEM Client 就可以連到 EDB 企業版使用 Oracle 相容語法。)
(Update:新版的 pgAdmin4 已經能支援企業版的 Oracle 相容語法,也能夠不用安裝 PEM Client 就可以連到 EDB 企業版使用 Oracle 相容語法。)
- 資料庫安裝完畢後的快速使用
以下預設 EDB 資料庫服務安裝於 Linux 底下。
-
依序執行以下指令,設定環境變數
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 簡體中文書的前三章,用來釣新用戶來買書的樣子~
只要看完這些就會基本的使用了!比較懶的馬上就看德哥系列的人可以考慮先從這裡下手。感謝相關的好人們分享
作者已經移除這則留言。
回覆刪除