Ⅰ 怎麼在javaWeb里實現備份postgresql的功能
用java運行pg_mp命令行程序就行。
pg_m是postgresql自帶的用來備份資料庫的命令行程序,具體用法請參考文檔。
Ⅱ PostgreSQL9.2備份與還原
cd C:\Program Files\PostgreSQL\9.0\bin
備份資料庫:
pg_mp -h localhost -U postgres databasename > C:\databasename.bak
恢復資料庫:
psql -h localhost -U postgres -d databasename < C:\databasename.bak
Ⅲ postgresql中怎麼用psql命令
連接資料庫, 默認的用戶和資料庫是postgres
psql -U user -d dbname
切換資料庫,相當於mysql的use dbname
\c dbname
列舉資料庫,相當於mysql的show databases
\l
列舉表,相當於mysql的show tables
\dt
查看錶結構,相當於desc tblname,show columns from tbname
\d tblname
\di 查看索引
創建資料庫:
create database [資料庫名];
刪除資料庫:
drop database [資料庫名];
*重命名一個表:
alter table [表名A] rename to [表名B];
*刪除一個表:
drop table [表名];
*在已有的表裡添加欄位:
alter table [表名] add column [欄位名] [類型];
*刪除表中的欄位:
alter table [表名] drop column [欄位名];
*重命名一個欄位:
alter table [表名] rename column [欄位名A] to [欄位名B];
*給一個欄位設置預設值:
alter table [表名] alter column [欄位名] set default [新的默認值];
*去除預設值:
alter table [表名] alter column [欄位名] drop default;
在表中插入數據:
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的數據:
update [表名] set [目標欄位名]=[目標值] where [該行特徵];
刪除表中某行數據:
delete from [表名] where [該行特徵];
delete from [表名];--刪空整個表
創建表:
create table ([欄位名1] [類型1] <references 關聯表名(關聯的欄位名)>;,[欄位名2] [類型2],......<,primary key (欄位名m,欄位名n,...)>;);
\right 顯示 PostgreSQL 的使用和發行條款
\encoding [字元編碼名稱]
顯示或設定用戶端字元編碼
\h [名稱] SQL 命令語法上的說明,用 * 顯示全部命令
\prompt [文本] 名稱
提示用戶設定內部變數
\password [USERNAME]
securely change the password for a user
\q 退出 psql
可以使用pg_mp和pg_mpall來完成。比如備份sales資料庫:
pg_mp drupal>/opt/Postgresql/backup/1.bak
Ⅳ 如何在PostgreSQL中備份一張表(包含表結構)和恢復
--以test作為用戶名,導出localhost:5432伺服器上的Test資料庫。
--導出的文件名為test_data
F:PostgreSQL9.2in>pg_mp-ftest_data-hlocalhost-Utest-p5432Test
口令:
F:PostgreSQL9.2in>dirtest_*
驅動器F中的卷是Install
卷的序列號是24AD-61D9
F:PostgreSQL9.2in的目錄
2013-04-1514:46136,270test_data
1個文件136,270位元組
0個目錄10,456,657,920可用位元組--將test_data文件中的數據,導入到localhost:5432伺服器上的Test2資料庫。
F:PostgreSQL9.2in>psql.exe-hlocalhost-Utest-p5432-dTest2<test_data
用戶test的口令:test
SET
SET
SET
SET
SET
CREATESCHEMA
ALTERSCHEMA
CREATEEXTENSION
COMMENT
CREATEEXTENSION
COMMENT
......
上面的例子, 是 備份 / 恢復整個資料庫的.
如果你是要 僅僅 備份 / 恢復 某個表的, 那麼命令行裡面增加下面的參數:
-t, --table=TABLE 只轉儲指定名稱的表