Original post: http://anothermysqldba.blogspot.com/2013/12/a-mysql-dba-looks-at-postgresql.html
所以這是/一之旅的MySQL DBA尋找到的PostgreSQL 。 這不是一個攻擊只是觀察和例子。
使用的CentOS 6.5 64位:
RPM-IVH http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
百勝groupinstall“PostgreSQL數據庫服務器9.3 PGDG”
--->包裝postgresql93.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-contrib.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-libs.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-server.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
yum的安裝postgresql93服務器
服務的PostgreSQL-9.3初始化數據庫
初始化數據庫:[ 確定 ]
服務的PostgreSQL-9.3啟動
啟動PostgreSQL的-9.3服務:[ 確定 ]
在chkconfig的postgresql-9.3
下面所有的例子都是基於PostgreSQL的維基
#蘇- Postgres的
-bash的-4.1 $ psql的
psql的(9.3.2)
Postgres的=#CREATE USER testuser的密碼'1234';
CREATE ROLE
Postgres的=#GRANT ALL ON SCHEMA測試,以testuser的;
GRANT
Postgres的=#GRANT ALL ON架構中測試,以testuser的所有表;
GRANT
$ PWD
/首頁/ testuser的
$ psql的-D Postgres的
psql的(9.3.2)
鍵入“help”以獲得幫助。
我也注意到,這些GRANT語句9.3運作良好,但最初的發行版安裝了一個8 *版本和一些命令失敗。
順便說一句......你當然還有功能,你會期望從一個穩定的RDBM系統。 誠然這些都是很簡單的例子。
Postgres的=> EXPLAIN SELECT * FROM test.test;
查詢計劃
-------------------------------------------------- ------
序列掃描測試上(成本= 0.00 .. 19.20行= 920寬度= 58)
顯示數據庫== \升
Postgres的- > \升
Postgres的| Postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 |
template0中| Postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 | = C / Postgres的+
| | | | | Postgres的= CTC / Postgres的
的template1 | postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 | = C / Postgres的+
| | | | | Postgres的= CTC / Postgres的
使用的是標準的SQL:
Postgres的- >使用Postgres的
列出所有模式:
Postgres的- > \ DN
公眾| Postgres的
測試| Postgres的
Postgres的=> SELECT * FROM sometable WHERE somefield ='FUBAR'; somefield | anotherfield |的DateField ----------- + -------------- + ---- -------- FUBAR | rabuf | 2013-12-30 FUBAR | rabuf | 2013-12-30(2排)
為了幫助更多的可以安裝pgAdmin的
yum的安裝pgadmin3_93
如果這能夠工作,它是如何工作可能是另一種整個博客文章。
到目前為止.... 我會堅持與MySQL但這是使用PostgreSQL的只是一個簡單的例子。 這可以讓你開始你可以評估自己。
下面有用的鏈接。 請參考這些,因為他們有更多的經驗與PostgreSQL的比我好。
所以這是/一之旅的MySQL DBA尋找到的PostgreSQL 。 這不是一個攻擊只是觀察和例子。
使用的CentOS 6.5 64位:
RPM-IVH http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
百勝groupinstall“PostgreSQL數據庫服務器9.3 PGDG”
--->包裝postgresql93.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-contrib.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-libs.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
--->包裝postgresql93-server.x86_64 0:9.3.2-1PGDG。RHEL6將安裝
服務的PostgreSQL-9.3初始化數據庫
初始化數據庫:[ 確定 ]
服務的PostgreSQL-9.3啟動
啟動PostgreSQL的-9.3服務:[ 確定 ]
在chkconfig的postgresql-9.3
下面所有的例子都是基於PostgreSQL的維基
#蘇- Postgres的
-bash的-4.1 $ psql的
psql的(9.3.2)
Postgres的=#CREATE USER testuser的密碼'1234';
CREATE ROLE
Postgres的=#GRANT ALL ON SCHEMA測試,以testuser的;
GRANT
Postgres的=#GRANT ALL ON架構中測試,以testuser的所有表;
GRANT
Postgres的=#\ q
-bash的-4.1 $退出
註銷
#蘇testuser的
$ PWD
/首頁/ testuser的
$ psql的-D Postgres的
psql的(9.3.2)
鍵入“help”以獲得幫助。
Postgres的=> CREATE TABLE test.test(COLTEST為varchar(20));
CREATE TABLE
Postgres的=>插入test.test(COLTEST)VALUES('它的工作原理!');
INSERT 0 1
Postgres的=> SELECT * FROM test.test;
COLTEST
-----------
它的工作原理!
(1行)
Postgres的=> DROP TABLE test.test;
DROP TABLE
Postgres的=>
順便說一句......你當然還有功能,你會期望從一個穩定的RDBM系統。 誠然這些都是很簡單的例子。
Postgres的=> EXPLAIN SELECT * FROM test.test;
查詢計劃
-------------------------------------------------- ------
序列掃描測試上(成本= 0.00 .. 19.20行= 920寬度= 58)
顯示數據庫== \升
Postgres的- > \升
Postgres的| Postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 |
template0中| Postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 | = C / Postgres的+
| | | | | Postgres的= CTC / Postgres的
的template1 | postgres的| UTF8 |的en_US.UTF-8 |的en_US.UTF-8 | = C / Postgres的+
| | | | | Postgres的= CTC / Postgres的
使用的是標準的SQL:
Postgres的- >使用Postgres的
列出所有模式:
Postgres的- > \ DN
公眾| Postgres的
測試| Postgres的
SHOW CREATE TABLE等是更多一點的工作。 授予一個MySQL DBA會看到它作為,因為我們是用來做更多的工作。PostgreSQL使用表空間超過MySQL用戶是用來做什麼。
Postgres的=> CREATE TABLE sometable(somefield數據類型為varchar(255),anotherfield為varchar(150),DateField的日期); CREATE TABLE Postgres的=> INSERT INTO sometable(somefield,anotherfield,的DateField)VALUES('FUBAR','rabuf','2013-12-30'); INSERT 0 1 Postgres的=> INSERT INTO sometable(somefield,anotherfield,的DateField)VALUES('FUBAR','rabuf',NOW()); INSERT 0 1 Postgres的=> INSERT INTO sometable(somefield,anotherfield,的DateField)VALUES('fubar2','rabuf2',NOW()); INSERT 0 1 Postgres的=>從sometable選擇*; somefield | anotherfield |的DateField ----------- + -------------- + ------------ FUBAR | rabuf | 2013-12-30 FUBAR | rabuf | 2013-12-30 fubar2 | rabuf2 | 2013-12-30 (3行)
Postgres的=> SELECT * FROM sometable WHERE somefield ='FUBAR'; somefield | anotherfield |的DateField ----------- + -------------- + ---- -------- FUBAR | rabuf | 2013-12-30 FUBAR | rabuf | 2013-12-30(2排)
Postgres的=> \? < -幫助將告訴您如何來瀏覽周圍。
顯示表== \ DT
Postgres的=> \ DT
關係一覽表
架構|名稱|型號|業主
-------- + ----------- + -------- + ----------
公共| sometable |表| TESTUSER
Postgres的=> ALTER TABLE sometable ADD COLUMN intfield的int [11]; ALTER TABLE
Postgres的=> SELECT * FROM sometable; somefield | anotherfield |的DateField | intfield ----------- + -------------- + -------- ---- + ---------- FUBAR | rabuf | 2013-12-30 | FUBAR | rabuf | 2013-12-30 | fubar2 | rabuf2 | 2013-12-30 |(3行)
SHOW CREATE TABLE == \ D +表名
Postgres的=> \ D + sometable
表“public.sometable”
專欄|類型|修飾語|存儲|統計指標|說明
-------------- + ------------------------ + ---------- - + ---------- + -------------- + -------------
somefield |字符改變(255)| |擴展| |
anotherfield |字符改變(150)| |擴展| |
的DateField |日期| |平原| |
intfield |整數[] | |擴展| |
擁有的OID:無
為了幫助更多的可以安裝pgAdmin的
yum的安裝pgadmin3_93
如果這能夠工作,它是如何工作可能是另一種整個博客文章。
到目前為止.... 我會堅持與MySQL但這是使用PostgreSQL的只是一個簡單的例子。 這可以讓你開始你可以評估自己。
下面有用的鏈接。 請參考這些,因為他們有更多的經驗與PostgreSQL的比我好。
- 修改為9.3以下)
- http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/
- http://www.postgresql.org/docs/9.3/static/app-initdb.html
- https://wiki.postgresql.org/wiki/Detailed_installation_guides
- http://wiki.postgresql.org/wiki/First_steps
- http://www.postgresql.org/docs/9.3/static/sql-grant.html
- http://wiki.postgresql.org/wiki/How_to_make_a_proper_migration_from_MySQL_to_PostgreSQL
- http://blog.endpoint.com/2009/12/mysql-and-postgres-command-equivalents.html
- http://www.openlogic.com/wazi/bid/188016/PostgreSQL-Administration-for-MySQL-Admins
- http://www.postgresql.org/docs/9.3/static/sql-altertable.html
- http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL