
进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。
linux下安装PostgreSQL数据库步骤如下:
0.编译环境
Linux: CentOS 5.5
gcc: 4.1.2
1. 安装PostgreSQL
1) 解压postgresql-9.1.7.tar.bz2
#tar jxvf postgresql-9.1.7.tar.bz2
2) 进入解压后的postgresql-9.1.7目录
#cd postgresql-9.1.7
3) 编译postgresql源码
#./configure --prefix=/opt/pgsql-9.1.7
#make
#make install
至此,完成postgresql的安装。进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。
#ls /opt/pgsql-9.1.7
2.创建postgresql数据库
1) 创建postgres用户
#useradd postgres
修改postgres密码
#passwd postgres
2) 设置postgres用户的环境变量
切换到postgres用户
#su - postgres
进入postgres的主目录
#cd ~
编辑~/.bash_profile文件
#vi ~/.bash_profile
设置以下的环境变量
export PGHOME=/opt/pgsql-9.1.7
export PGDATA=~/data
保存,退出vi。执行以下命令,使环境变量生效
#source ~/.bash_profile
3) 初始化postgres数据库
#initdb
至此,完成postgres数据库的初始化。
4) 启动postgres数据库实例
#pg_ctl start
可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程
#ps -ef | grep postgres
5) 连接postgresql数据库
#psql -h 127.0.0.1 -d postgres -U postgres
6) 停止postgresql数据库实例
#pg_ctl stop
#ps -ef | grep postgres
可以看到已经没有postgres进程
3. 设置PostgreSQL开机自启动
PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下
linux文件即为linux系统上的启动脚本
1)修改linux文件属性,添加X属性
#chmod a+x linux
2) 复制linux文件到/etc/init.d目录下,更名为postgresql
#cp linux /etc/init.d/postgresql
3)修改/etc/init.d/postgresql文件的两个变量
prefix设置为postgresql的安装路径:/opt/pgsql-9.1.2
PGDATA设置为postgresql的数据目录路径:
4) 执行service postgresql start,就可以启动PostgreSQL服务
#service postgresql start
5)设置postgresql服务开机自启动
#chkconfig --add postgresql
执行上面的命令,就可以实现postgresql服务的开机自启动。
postgresql中可以使用pg_dump来备份数据库。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。用法:
pg_dump [选项]... [数据库名字]
一般选项:
-f, --file=FILENAME output file or directory name
-F, --format=c|d|t|poutput file format (custom, directory, tar, plain text)
-v, --verbose详细模式
-Z, --compress=0-9 被压缩格式的压缩级别
--lock-wait-timeout=TIMEOUT 在等待表锁超时后 *** 作失败
--help 显示此帮助信息, 然后退出
--versoin输出版本信息, 然后退出
示例:
备份数据库,指令如下:
pg_dump -h 164.82.233.54 -U postgres databasename >C:databasename.bak
开始-运行-cmd d出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:
cd C:Program FilesPostgreSQL9.0bin
最后执行备份指令:
pg_dump -h 164.82.233.54 -U postgres databasename >C:databasename.bak
指令解释:
pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;
postgres 是数据库的用户名;databasename 是数据库名。
>意思是导出到C:databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: Program FilesPostgreSQL9.0bin 文件夹里。
推荐学习《Python教程》。
1、通过命令行查询\d 数据库 —— 得到所有表的名字
\d 表名 —— 得到表结构
2、通过SQL语句查询
"select * from pg_tables" —— 得到当前db中所有表的信息(这里pg_tables是系统视图)
"select tablename from pg_tables where schemaname='public'" —— 得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)