PostgreSQL新手上路

matrixcd90123456 发布于 2013/01/12 22:23
阅读 1K+
收藏 1

@宏哥 你好,想跟你请教个问题:最近想偿试 PostgreSQL + JFinal 开发个项目,以前一直用的 Mysql,想请教一下PostgreSQL相关问题:

1:PostgreSQL是否有多种版本,例如社区版本与企业版。一般使用哪个版本较好?

2:下载installer安装版本还是免安装版本好?

3:PG管理工具哪个好用一些?navicate 好像是收费的

4:配置是否复杂,能否分享个比较常用的配置文件?

5:是否像mysql有innoDb等之类的多种引擎的概念,

6:原Mysql 用户迁移过来的学习成本有多大?新手熟悉基本用法需要多长时间?

谢谢 ^_^

加载中
0
宏哥
宏哥

postgresql 只有一个区别,就是 enterprisedb, 增加了oracle兼容包.

其他都一样

0
宏哥
宏哥

pgadmin3, mysql 迁移过来, 基本上需要完全重新学习.

mysql 不是数据库.

0
W_Lu
W_Lu
mysql不是数据库??那么应该怎么理解mysql,俺更蒙了,望大虾指教!
0
宏哥
宏哥

引用来自“doctorlzr1988”的答案

mysql不是数据库??那么应该怎么理解mysql,俺更蒙了,望大虾指教!

mysql 不具备任何事务处理, 已经集合运算能力.

所以搞msyql的都会进入误区, 比如, 读写分离, 不能使用外键, 尽量减少关联查询等....

这些正是数据库应该做的事情.

所以被mysql FK过的, 几乎没有机会学习真正的数据库.

要学习数据库, 首先就要把mysql这个遗毒清理干净, 要彻底忘掉mysql ,这并不容易.

mark35
mark35
回复 @szf : 支持和能用、好用是两码事。等你自己实践过再下结论吧
宏哥
宏哥
回复 @szf : TB都必须按照我说的做, 没有选择.
宏哥
宏哥
回复 @szf : 你如果是真的想学习, 去把我讨论mysql帖子的里面例子做一下就知道. 或者查一下 "mysql 锁表", 我刚刚发了另外一个帖子. 其他不想说了. innodb太嫩了, 离"数据库" 太远.
szf
szf
回复 @宏哥 : 每次都把问题贴或教学贴变成您喷xx,yy,zz的内容,这样没意思啊,虽然我有点能体会您对后进们的关爱 -- 毕竟您不遗余力这样做也没工资的,纯粹是出于好意 -- 但光有好心也不行啊。
宏哥
宏哥
@szf 知道你厉害, 我另外发一个帖子.
下一页
0
周翼翼
周翼翼

引用来自“宏哥”的答案

引用来自“doctorlzr1988”的答案

mysql不是数据库??那么应该怎么理解mysql,俺更蒙了,望大虾指教!

mysql 不具备任何事务处理, 已经集合运算能力.

所以搞msyql的都会进入误区, 比如, 读写分离, 不能使用外键, 尽量减少关联查询等....

这些正是数据库应该做的事情.

所以被mysql FK过的, 几乎没有机会学习真正的数据库.

要学习数据库, 首先就要把mysql这个遗毒清理干净, 要彻底忘掉mysql ,这并不容易.

"不能使用外键, 尽量减少关联查询", 这两点,我现在搞的产品也TM这么整, 我一直不知道为什么.

所以为了一些很简单的参数检查,  搞了一堆的代码!这些检查完全可以用外键.

还有,select A.a where A.b=(select B.b from B where ***) 这种查询, 也不能搞, 其中A是小表, B是大表. 请教一下, 这样的查询, 能搞吗?

虽然我们基本上是数据库为主力的产品,但是工作半年下来, 学习到数据库的东西还是非常有限...


luokery
luokery
貌似宏哥说可以关联查询吧.
mark35
mark35
回复 @周翼翼 : 那一个表80GB尺寸? 可以考虑分表了
周翼翼
周翼翼
回复 @mark35 : 现在的系统, 单表数据量在5000万到8000万不等,~~,
mark35
mark35
回复 @周翼翼 : 理论上pg单表上限貌似2T,反正就我们这应用水平完全不用担心这个限制。照你一条记录1k来看1百万条就是1G的容量,那最好是单表记录控制在1百万以下。
StormFour
StormFour
回复 @周翼翼 : 理论上没有限制,但达到百万级数据量就要考虑分区了。
下一页
0
宏哥
宏哥

引用来自“周翼翼”的答案

引用来自“宏哥”的答案

引用来自“doctorlzr1988”的答案

mysql不是数据库??那么应该怎么理解mysql,俺更蒙了,望大虾指教!

mysql 不具备任何事务处理, 已经集合运算能力.

所以搞msyql的都会进入误区, 比如, 读写分离, 不能使用外键, 尽量减少关联查询等....

这些正是数据库应该做的事情.

所以被mysql FK过的, 几乎没有机会学习真正的数据库.

要学习数据库, 首先就要把mysql这个遗毒清理干净, 要彻底忘掉mysql ,这并不容易.

"不能使用外键, 尽量减少关联查询", 这两点,我现在搞的产品也TM这么整, 我一直不知道为什么.

所以为了一些很简单的参数检查,  搞了一堆的代码!这些检查完全可以用外键.

还有,select A.a where A.b=(select B.b from B where ***) 这种查询, 也不能搞, 其中A是小表, B是大表. 请教一下, 这样的查询, 能搞吗?

虽然我们基本上是数据库为主力的产品,但是工作半年下来, 学习到数据库的东西还是非常有限...


国人非常缺乏独立思考能力.

这些人都是被那些" mysql 优化" FK 过的, 你要让他们搞清楚, 非常困难.

SB是广泛而普遍存在的, 这样才造就了那些软件巨头, 所向披靡, 没有对手.

因为, 脑子清楚的人,并不多.

换个角度看, 这也是软件相关行业最令人兴奋的地方.因为你并不需要做到完美, 就可以消灭大多对手.

长期的职业生涯以及事业, 需要坚持一些东西.

0
Raynor1
Raynor1
社区版本和企业版本没有什么区别。。你也可以下载企业版本,没有问题,,,pg你可以使用自带的管理工具或者是navi。   差不多。。。install有安装提示,zip没有。。。默认pg有配置。。比mysql复杂。^_^上手必要容易。底下几个mysql迁移过来的人开始都不是很上手,后面就可以了,mysql是有事务的,innodb可以包括所有的事务内容,。。。5•5版本的性能和pg差不了多少,查询比pg更快,pg的查询优化器做的好
0
kenyon_君羊
kenyon_君羊

不去评论Postgres与Mysql孰好孰坏,只针对你的问题答复一下:

1.PostgreSQL只有社区版,因为是社区推动支持的,另外有一款EDB的商业化产品,是付费的。社区版与EDB的差别是后者做了一些定制化的内容(与Oracle的兼容性较好),而且有商业支持,收费。社区版的够了

2.免安装版本相对新手来说安装方便,如果要定制可以源码安装

3.连接postgres的客户端工具比较多,pgadmin还不错,是免费的

4.Postgres的初始化配置是相对保守的,可以灵活结合OS资源,要配置的主要参数不多,但相对Mysql要多几个

5.没有Mysql一堆的引擎概念,无需去考虑表该用Myisam或者Innodb

6.PostgreSQL严格遵循SQL规范,如果熟悉了PostgreSQL,你去学其他数据库就很快了,特别是PostgreSQL提供了很规范整洁的源码,水平提高后看源码可以更深入地了解数据库的一些实现机制。当然了,精通一个SQL DB,其他DB理解起来会相对容易

0
Raynor1
Raynor1
所以再企业没有什么特别要求的情况下并不建议使用pg,,带来的提升你可以忽略不计,percona和mariadb的兴起,让mysql有更多的选择和更好的性能,
0
StormFour
StormFour

一句话:学习postgres是非常值得的。

返回顶部
顶部