安装 各个平台都有丰富的安装手册,详细可以在google里面搜索。这里是debian上安装方式,ubuntu类: aptitude install postgresql # 这个是数据库aptitude install pgadmin3 # 这个是GUI界面的管理工具 这里debian机器(172.16.70.175)是我笔记本,我是需要
安装
各个平台都有丰富的安装手册,详细可以在google里面搜索。这里是debian上安装方式,ubuntu类似:
<span>aptitude install postgresql # 这个是数据库 aptitude install pgadmin3 # 这个是GUI界面的管理工具 </span>
这里debian机器(172.16.70.175)是我笔记本,我是需要一个pgadmin3,然后在实验机器(fedora系统,172.16.70.254)上安装了postgresql。
<span># rpm -qa|grep postgresql postgresql-libs-8.3.7-1.fc10.i386 postgresql-8.3.7-1.fc10.i386 postgresql-server-8.3.7-1.fc10.i386 </span>
初始化配置
postgresql的用户和系统用户是分开的,我们需要初始化数据库,设置数据库的Loading用户,配置postgresql的访问权限。
设置密码
如果是在debian/ubuntu,或者fedora这些系统上使用deb或rpm包安装的,都会建立好postgres用户。我们需要以这个用户权限运行psql命令设置postgres用户密码:
<span># su postgres -c psql template1 欢迎来到 psql 8.3.7,这是 PostgreSQL 互动式文字终端机。 键入: \copyright 显示发行条款 \h 显示 SQL 命令的说明 \? 显示 pgsql 命令的说明 \g 或者以分号(;)结尾以执行查询 \q 退出 postgres=# ALTER USER postgres with password 'abc123'; ALTER ROLE postgres=# \q </span>
上面abc123就是我们设置的密码。
创建数据库
<span>su postgres -c createdb mydb </span>
配置远程链接
1. 首先看看防火墙是否开启,如果开启需要允许5432端口的联通。如不知怎样配置防火墙,就关闭它。
2. 配置postgresql.conf文件,这个文件在数据库pgsql目录下的data目录里。我在fedora上现在的地方是/var/lib/pgsql/data/postgresql.conf。
<span>listen_addresses = '*' #把这句的注释去掉,'*' 号表示监听所有网络地址的链接 </span>
3. 配置pg_hba.conf文件,通常和postgresql.conf文件在同一个目录下:
<span>host all all 172.16.70.175 255.255.252.0 md5 # 我在最后加上了这一句 # 我的笔记本IP是175, netmask是255.255.252.0 # 这里和我同一网段的机器都以链接 </span>
4. 重启postgresql服务
<span># /etc/init.d/postgresql restart 停止 postgresql 服务: [确定] 启动 postgresql 服务: [确定] </span>
用户管理
创建用户 createuser
<span>createuser 是 SQL 命令 CREATE USER的封装。 命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名 参数说明: [-a]:允许创建其他其他用户; [-d]:允许此用户创建数据用户,相当于创建一个超级用户; [-A]:不允许此用户创建库库; [-e]:将执行过程显示到Shell上; [-P]:创建用户时,同时设置密; [-D]:不允许此用户创建数据码; [-h 主机名]:为某个主机上的Postgres创建用户; [-p port]:与-h参数一同使用,指定主机的端口。 </span>
1. 直接运行createruser命令
<span># createuser Enter name of role to add: jianlee Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) y createuser: 无法联接到数据库 postgres: 致命错误: 用户 "root" Ident 认证失败 </span>
上面命令运行出错的原因是root用户没有权限访问数据库,我们使用前面设置密码的postgres用户运行命令:
<span># su postgres bash-3.2$ createuser Enter name of role to add: jianlee Shall the new role be a superuser? (y/n) n # 如果选择y,那么jianlee就是超级用户 Shall the new role be allowed to create databases? (y/n) y #如果上面没有选择y,这里才出现 Shall the new role be allowed to create more new roles? (y/n) y #同上 </span>
2. 为指定的主机和端口创建用户(就是远程创建用户)
<span># su postgres postgres@jianlee:/root$ createuser -h 172.16.70.254 -p 5432 -D -A -e turbolinux Shall the new role be allowed to create more new roles? (y/n) y 口令: # 输入用户postgres的口令 CREATE ROLE turbolinux NOSUPERUSER NOCREATEDB CREATEROLE INHERIT LOGIN; </span>
这个例子我在debian机器上先su到postgres用户下执行createuser命令,-h和-p指定远程主机的ip和端口,turbolinux是我想创建的用户名。必须远程(172.16.70.254)机器上的postgresql服务器启动并且postgres用户可以从debian(172.16.70.175)访问情况下,才能执行正确。
3. 创建超级用户
<span>$ createuser -P -d -a -e turbo_rd Enter password for new role: 再输入一遍: CREATE ROLE turbo_rd PASSWORD 'md5259766bbac3b83cd9195cc0bea6ecec7' \ SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN; </span>
参数看本节开始的createuser参数说明。
删除用户 dropuser
<span>$ dropuser --help dropuser removes a PostgreSQL role. 使用方法: dropuser [OPTION]... [ROLENAME] 选项: -e, --echo 显示发送到服务端的命令 -i, --interactive 删除任何东西之前给予提示 -h, --host=HOSTNAM 数据库服务器所在机器的主机名或套接字目录 -p, --port=PORT 数据库服务器端口号 -U, --username=USERNAME 联接用户 (不是要删除的用户名) -W, --password force password prompt --help 显示此帮助信息, 然后退出 --version 输出版本信息, 然后退出 臭虫报告至 <pgsql-bugs>. </pgsql-bugs></span>
1. 本地删除
<span>$ dropuser -i -e turbo_rd Role "turbo_rd" will be permanently removed. 你确定吗? (y/n) y DROP ROLE turbo_rd; </span>
2. 远程删除
<span>$ dropuser -p 5432 -h 172.16.70.254 -i -e turbolinux Role "turbolinux" will be permanently removed. 你确定吗? (y/n) y 口令: DROP ROLE turbolinux;</span>
再次提醒:本次命令的运行者必须是能登录254机器上数据库的用户。'口令'也是该用户的数据库登录口令。
数据库简单管理
创建数据库 createdb
<span>createdb 中文 </span>
注意,运行这个命令的用户需要是postgresql服务器用户,有建库权限。
删除数据库 dropdb
访问数据库
1. 使用psql命令行
$ psql 中文 欢迎来到 psql 8.3.7,这是 PostgreSQL 互动式文字终端机。 键入: \copyright 显示发行条款 \h 显示 SQL 命令的说明 \? 显示 pgsql 命令的说明 \g 或者以分号(;)结尾以执行查询 \q 退出 中文=#
2. 使用pgadmin3图形界面管理工具
表操作
创建完数据库之后,我们就可以在数据库里面创建表了。我用的postgresql版本是8.3(debian lenny),表名、表中的所有字段的名字和注释可以是UTF-8字符。但是用英文名字可以TAB键补全的地方多,不过这里我还是用中文表示。例子是参考postgresql的wiki上的。
创建新表
首先启动psql命令行程序,然后创建新表:
<span>root@jianlee:~# psql -U postgres -h localhost 欢迎来到 psql 8.3.6,这是 PostgreSQL 互动式文字终端机。 ... postgres=# CREATE TABLE 天气( 城市 varchar(80), -- 这是城市名字 最低气温 int, -- 一天当中最低气温 最高气温 int, -- 一天当中最高气温 降水量 real, -- 当天的降水量 日期 date -- 日期 ); CREATE TABLE </span>
注意 : 最后一行date字符后面没有 ',' 号!如果加上逗号会出现语法错误。
除了常用的 \q \? 等命令,psql里面的一条命令是以 ';' 结束的。在SQL里面可以随意使用空白(空格、tab、换行符)。 — 是注释的开始,到换行符结束。SQL对于大小写不敏感,之用在双引号字符串中才区分大小写。
常见错误
pgadmin3-"服务器工具未安装"
参考:http://techxplorer.com/2008/01/16/installing-postgresql-server-instrumentation-under-ubuntu/
1. 安装 postgresql-contrib 包
2. 运行命令:
psql -U postgres -d postgres -h localhost <br>

MySQL和PostgreSQL:在Web开发中的最佳实践引言:在现代的Web开发领域中,数据库是必不可少的组成部分。在选择数据库时,常见的选择是MySQL和PostgreSQL。本文将介绍在Web开发中使用MySQL和PostgreSQL的最佳实践,并提供一些代码示例。一、适用场景MySQL适用于大多数Web应用程序,特别是那些需要高性能、可扩展性和易于使

MySQL和PostgreSQL:性能对比与优化技巧在开发web应用程序时,数据库是不可或缺的组成部分。而在选择数据库管理系统时,MySQL和PostgreSQL是两个常见的选择。他们都是开源的关系型数据库管理系统(RDBMS),但在性能和优化方面有一些不同之处。本文将比较MySQL和PostgreSQL的性能,并提供一些优化技巧。性能对比在比较两个数据库管

学习Go语言中的数据库函数并实现PostgreSQL数据的增删改查操作在现代的软件开发中,数据库是不可或缺的一部分。Go语言作为一门强大的编程语言,提供了丰富的数据库操作函数和工具包,可以轻松地实现数据库的增删改查操作。本文将介绍如何学习Go语言中的数据库函数,并使用PostgreSQL数据库进行实际的操作。第一步:安装数据库驱动程序在Go语言中,每个数据库

Go语言是一种快速、高效的编程语言,适合构建Web服务和后端应用程序。而PostgreSQL是一个开源的关系型数据库管理系统,承诺提供更高的可靠性、可扩展性和数据安全性。在本文中,我们将深入探讨如何在Go语言中使用PostgreSQL,并提供一些实用的代码示例和技巧。安装和设置PostgreSQL首先,我们需要安装和设置PostgreSQL。可以在官方网

MySQL和PostgreSQL:数据安全与备份策略引言:在现代社会中,数据成为了企业和个人生活中不可或缺的一部分。对于数据库管理系统来说,数据安全与备份策略是至关重要的,既能保护数据免受丢失或损坏,也能确保恢复数据的可靠性和完整性。本文将重点讨论MySQL和PostgreSQL两种主流关系型数据库系统的数据安全性和备份策略。一、数据安全性方面:(一)用户权

随着数据库技术的发展,数据库管理系统也呈现出多种多样的选择,开发人员可以根据自己的需求和喜好选择最适合自己的数据库。而PostgreSQL作为一种先进的开源关系型数据库系统,越来越受到开发人员的关注和使用。那么,在PHP编程中如何使用PostgreSQL数据库呢?一、安装和配置PostgreSQL数据库在使用PostgreSQL之前,需要先安装和配置它。首先

随着互联网的发展,数据量持续增长,数据管理的需求变得日益迫切。关系型数据库是数据管理的一种重要方式,而其中的PostgreSQL因其灵活性、可扩展性及安全性而备受欢迎。本文介绍了如何利用PHP语言实现一个开源的PostgreSQL关系型数据库,希望对有相应需求的开发者有所帮助。概述PostgreSQL是一种强大的关系型数据库系统,它是遵循SQL标准的且具有许

数据库容量规划和扩展:MySQLvs.PostgreSQL引言:随着互联网的快速发展和大数据时代的到来,数据库的容量规划和扩展变得越来越重要。MySQL和PostgreSQL是两个流行的关系型数据库管理系统(RDBMS),它们在数据库容量规划和扩展方面有着不同的特点和适用场景。本文将对这两个数据库进行比较,并给出一些代码示例来展示它们的差异。一、MySQ


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。