×

postgresql官方手册

postgresql官方手册(我在linux下安装了postgresql,但是启动时候说服务器启动失败!9.5版本哪位打什么帮忙解决下)

admin admin 发表于2024-06-11 10:16:47 浏览16 评论0

抢沙发发表评论

大家好,如果您还对postgresql官方手册不太了解,没有关系,今天就由本站为大家分享postgresql官方手册的知识,包括我在linux下安装了postgresql,但是启动时候说服务器启动失败!9.5版本哪位打什么帮忙解决下的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

我在linux下安装了postgresql,但是启动时候说服务器启动失败!9.5版本哪位打什么帮忙解决下

我用ubuntu,所以不大懂yum具体怎么操作,但我想应该与apt的功能差不多。首先,postgresql是很有名的数据库,你用不着指定具体的版本。你可以直接用yum去查询源或者库里是否有这个软件(具体操作请参考yum的文档,我这边是apt-cachesearchpostgresql)当然,如果你用新立得的话,它的菜单里有个按任务安装软件,里面有postgresql数据库的选项。安装postgresql之后难免要配置它。你也许会很奇怪,安装的过程中没有提示你添加用户或者添加数据库密码(在ubuntu上就是这样,不知道红帽是什么样的情况)。其实,随着数据库的安装,已经添加了用户postgres,你要做的是先登录到这个用户的shell下,再添加你需要的实用用户。按照我的操作,是这样的,先passwdpostgres改掉本地用户postgres的密码然后用这个postgres登录到系统(可以Ctrl+Alt+F1-F5来切换虚拟控制台)。createuser本地帐户##如果你本地用户名是joe,那么就createuserjoe会提示你是否创建超级用户。一般来说都会建一个超级用户来管理,当然你也可以选择建立一个普通的用户。现在基本上就配置完毕了,回到你刚才的用户登录,例如joe,可以用psql来登录到postgresql了。如果你需要编程登录数据库,那么你得先建库,再建role,然后通过role登录。打个比方,用php登录到postgresql,使用PEAR的MDB2软件包登录,你可以这样createdb##假设你为当前用户(本地帐户)建立了一个超级数据库用户(角色,role),该命令会建立一个与当前用户同名的数据库,可以指定数据库名来建别的库。psql##以超级用户登录到数据库(与本地用户同名)alterrole本地用户名password’newpassword’;##为本地数据库用户(角色)建立一个密码,这个密码将来用于你编程登录数据库现在可以用本地用户作为角色通过php编程登录数据库了,因为密码和用户名都是已知的了。当然,用超级用户登录数据库有安全问题,如果你建立一个普通角色的话,需要给普通用户赋权,这个问题需要你参考postgresql的用户手册,百度文库里有英文9.1的用户手册,查询权限一节即可解决此问题。或者,可以使用pgadmin这一图形界面来解决权限等问题。

postgresql 查看表建立哪些索引

在数据库运维工作中,经常会有数据目录使用率较高需要调整的情况,通常会给数据库建立多个表空间,并分别位于不同的盘上,这时需要做的工作就是调整库中现有表和索引的表空间,下面简单总结下这块维护工作的内容,以下都是基于 PostgreSQL 9.0.1 做的测试。一 查询某个表所在表空间的简单方法 PostgreSQL 提供类似" \ "命令很方便得到相关信息,命令如下:skytf=》 \d test_2 Table "skytf.test_2" Column | Type | Modifiers --------+-----------------------+----------- id | integer | obj_id | integer | not null name | character varying(64) | Indexes: "idx_hash_name" hash (name) "idx_test_2" btree (id, obj_id)Tablespace: "tbs_skytf_idx" 备注:如果这个表的表空间为当前数据库的默认表空间,那么上面则不会显示 Tablespace 信息, 相反,则会显示这张有的表空间,例如上面的表 test_2 的表空间为 tbs_skytf_idx,而 表空间 "tbs_skytf_idx" 不是数据库 skytf 的默认表空间, 那么如何查询数据库的默认 表空间呢,可以通过以下命令查询。--1.1 查询数据库的默认表空间 skytf=》 select datname,dattablespace from pg_database where datname=’skytf’; datname | dattablespace ---------+--------------- skytf | 14203070(1 row)skytf=》 select oid,spcname from pg_tablespace where oid=14203070; oid | spcname ----------+----------- 14203070 | tbs_skytf(1 row) 备注:通过以上查出数据库 skytf 的默认表空间为 tbs_skytf。二 批量查询数据库表和索引的表空间--2.1 查询表和索引所在的表空间select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)), tb.spcname from pg_class a, pg_tablespace tb where a.reltablespace = tb.oid and a.relkind in (’r’, ’i’) order by a.relpages desc; 备注:上面只取了部分结果,这个查询能够查询表和索引所处的表空间,但是有一点需要注意,这个查询 仅显示表空间不是数据库默认表空间的数据库对像,而我们通常需要查出位于数据库默认表空间的 对像,显然上面的查询不是我们想要的,接下来看另一个查询。--2.2 查询位于默认数据库表空间的对像select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relownerfrom pg_class awhere a.relkind in (’r’, ’i’)and reltablespace=’0’ order by a.relpages desc;备注:这个查询加入限制条件 reltablespace=’0’,即可查找出位于当前数据库默认表空间的 数据库表和索引。 通常这才是我们想要的结果,接下来可以把部分表转移到其它表空间上去,转移 的方法可以用 "ALTER TABLE move tablespace "或者重建索引移表空间等方法,这里不详细介绍。 --2.3 查询在某个表空间上的对像select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relownerfrom pg_class a, pg_tablespace tb where a.relkind in (’r’, ’i’)and a.reltablespace=tb.oidand tb.spcname=’tablespace_name’order by a.relpages desc; --2.4 手册上对于 pgclass 视图的 reltablespace 字段解释 The tablespace in which this relation is stored. If zero, the database is default tablespace is implied. (Not meaningful if the relation has no on-disk file.)

关于postgresql官方手册和我在linux下安装了postgresql,但是启动时候说服务器启动失败!9.5版本哪位打什么帮忙解决下的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。