微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql 基础用法

http://www.yolinux.com/TUTORIALS/LinuxTutorialPostgresql.html

以上是参考资料

首先安装pgsql的时候会在linux里面自动创建一个操作系统的用户:postgres。我们需要 su - postgres 切换到这个用户才能操作数据库

数据库操作在两个地方进行,一个是postgres用户下的bash shell,一个是psql这个用户界面工具提供的shell,在这个psql的shell里面,我们是写sql语句的。

启动pgsql:如果直接写psql是进入postgres数据库下,里面可以通过 \d 查到我们一共有多少个数据库一个电脑里面有多个数据库一个数据库里面有多张表)。如果写 psql db_name 则是进入db_name 这个数据库下操作,\d就可以查询这个数据库下有多少张表。

然后,我们需要通过创建数据库用户管理数据库。这个数据库用户名和密码要写在django的settings.py里面的。

备份数据库

pg_dump 备份, pg_restore 还原。

pg_dump -h localhost -p 6543 -U postgres -Fc -f ~/backup/db/stuDB2014-2-12.backupdb_name

pg_restore -c -Fc -d db_name~/backup/db/stuDB2014-2-12.backup

其中-h知名域名(因为其实这两个备份还原程序可以远程干活) -p 指明端口 -Fc 指明输出备份文件的format,其实这里就是压缩啦 -f 指明输出路径 最后是要处理的数据库

pg_restore 里面的-c (一定要小写)是说在恢复之前把已经存在的数据库删掉。

这里注意,如果pg_dump 不加 -Fc 输出是纯 sql命令文件,也就是说它会输出这个数据库从空白到现在运行的所有sql操作,以纯文本输出。这个时候不能用pg_restore 还原,而是 psql db_name < backup_file ,注意这里不会覆盖原来的文件,而只是简单地把这些sql操作全部跑一遍。

这个时候我们需要一个空白的数据库来还原,创建空白的数据库(bash shell):createdb -T template0 db_name .这里template0是pgsql自己给的一个空白数据库模板,我们通过这个模板来创建数据库就能保证它是空白的。


ubuntu 下django + pgsql

首先 sudo apt-get install libpg-dev

centos下libpg-dev改成postgresql-libs

有一次我在服务器上重装psycopg2说一个xxx_config not found,然后装了postgresql-devel又可以了

然后pip install psycopg2

在学子服务器里面,createdb这些命令都用不了,只能用sql。首先psql -h localhost -U postgres StuCampus这里的StuCampus是原来PHP时代的数据库名字,我们进去以后操作新的数据库


服务器上面:

./bin/pg_dump -h localhost -U postgres -Fc field_application_db -f /backup/db/test.bak

./bin/pg_restore -c -h localhost -Fc -d field_application_db /backup/db/test.bak

原文地址:https://www.jb51.cc/postgresql/195881.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐