在postgresql中通过命令行执行sql文件
通过命令行执行初始化sql脚本是比较常见的需求,命令行下执行如下操作即可:
若是执行的命名只是创建用户,编辑用户,创建数据库的话可以不指定-d参数。
psql-Uusername-dmyDataBase-a-finit.sql
如果是远程数据库加入-h参数指定主机地址即可
psql-hhost-Uusername-dmyDataBase-a-finit.sql
补充:PostgreSQL操作-psql基本命令
一、建立数据库连接
接入PostgreSQL数据库:psql-hIP地址-p端口-U数据库名
之后会要求输入数据库密码
二、访问数据库
1、列举数据库:\l
2、选择数据库:\c数据库名
3、查看该某个库中的所有表:\dt
4、切换数据库:\cinterface
5、查看某个库中的某个表结构:\d表名
6、查看某个库中某个表的记录:select*fromappslimit1;
7、显示字符集:\encoding
8、退出psgl:\q
列出当前数据库所有表
\dt列出表名
SELECTtablenameFROMpg_tables; WHEREtablenameNOTLIKE'pg%' ANDtablenameNOTLIKE'sql_%' ORDERBYtablename;
列出数据库名
\l或
SELECTdatnameFROMpg_database;
切换数据库
\c数据库名
1、通过命令行查询
\d数据库——得到所有表的名字
\d表名——得到表结构
2、通过SQL语句查询
"select*frompg_tables"
——得到当前db中所有表的信息(这里pg_tables是系统视图)
"selecttablenamefrompg_tableswhereschemaname='public'"
——得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
General
\copyrightshowPostgreSQLusageanddistributionterms
\g[FILE]or;executequery(andsendresultstofileor|pipe)
\h[NAME]helponsyntaxofSQLcommands,*forallcommands
\qquitpsql
QueryBuffer
\e[FILE][LINE]editthequerybuffer(orfile)withexternaleditor
\ef[FUNCNAME[LINE]]editfunctiondefinitionwithexternaleditor
\pshowthecontentsofthequerybuffer
\rreset(clear)thequerybuffer
\s[FILE]displayhistoryorsaveittofile
\wFILEwritequerybuffertofile
Input/Output
\copy...performSQLCOPYwithdatastreamtotheclienthost
\echo[STRING]writestringtostandardoutput
\iFILEexecutecommandsfromfile
\o[FILE]sendallqueryresultstofileor|pipe
\qecho[STRING]writestringtoqueryoutputstream(see\o)
Informational
(options:S=showsystemobjects,+=additionaldetail)
\d[S+]listtables,views,andsequences
\d[S+]NAMEdescribetable,view,sequence,orindex
\da[S][PATTERN]listaggregates
\db[+][PATTERN]listtablespaces
\dc[S][PATTERN]listconversions
\dC[PATTERN]listcasts
\dd[S][PATTERN]showcommentsonobjects
\ddp[PATTERN]listdefaultprivileges
\dD[S][PATTERN]listdomains
\det[+][PATTERN]listforeigntables
\des[+][PATTERN]listforeignservers
\deu[+][PATTERN]listusermappings
\dew[+][PATTERN]listforeign-datawrappers
\df[antw][S+][PATRN]list[onlyagg/normal/trigger/window]functions
\dF[+][PATTERN]listtextsearchconfigurations
\dFd[+][PATTERN]listtextsearchdictionaries
\dFp[+][PATTERN]listtextsearchparsers
\dFt[+][PATTERN]listtextsearchtemplates
\dg[+][PATTERN]listroles
\di[S+][PATTERN]listindexes
\dllistlargeobjects,sameas\lo_list
\dL[S+][PATTERN]listprocedurallanguages
\dn[S+][PATTERN]listschemas
\do[S][PATTERN]listoperators
\dO[S+][PATTERN]listcollations
\dp[PATTERN]listtable,view,andsequenceaccessprivileges
\drds[PATRN1[PATRN2]]listper-databaserolesettings
\ds[S+][PATTERN]listsequences
\dt[S+][PATTERN]listtables
\dT[S+][PATTERN]listdatatypes
\du[+][PATTERN]listroles
\dv[S+][PATTERN]listviews
\dE[S+][PATTERN]listforeigntables
\dx[+][PATTERN]listextensions
\l[+]listalldatabases
\sf[+]FUNCNAMEshowafunction'sdefinition
\z[PATTERN]sameas\dp
Formatting
\atogglebetweenunalignedandalignedoutputmode
\C[STRING]settabletitle,orunsetifnone
\f[STRING]showorsetfieldseparatorforunalignedqueryoutput
\HtoggleHTMLoutputmode(currentlyoff)
\psetNAME[VALUE]settableoutputoption
(NAME:={format|border|expanded|fieldsep|footer|null|
numericlocale|recordsep|tuples_only|title|tableattr|pager})
\t[on|off]showonlyrows(currentlyoff)
\T[STRING]setHTML