linux 下怎么看postgresql安装到哪个目录了?

linux 下怎么看postgresql安装到哪个目录了?,第1张

进入/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下)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6705540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存