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.f2er.com/postgresql/195881.html