esq

阅读 / 问答 / 标签

resqme破窗器的原理是什么?实际上使用效果如何?

尼玛我作为一个文科生,让我回答这个问题 Resqme这玩意儿的原理其实跟圆珠笔差不多…… 没错,就是这个: 想想圆珠笔,是不是摁一下,笔芯进去了,按钮自动复位了?再摁一下,笔芯出来了,按钮……按钮没有自动复位…… 咋回事儿呢?我现在就给大家找一支笔来!。。。。。 尼玛我家里居然没有这样的圆珠笔……俺爹经常批评俺妈“咱家好歹也算知识分子家庭,咋连个笔都找不到捏?” 洒家这就下楼去买(四声)笔(一声)! 正当俺穿好衣服准备出门之时!我在餐桌上找到了一支牛逼的圆珠笔!北大出品!又粗又大还半透明!好棒!教具就是他了! 然后……这支笔后半截儿拧不开…… 本着为科学献身的精神,我决定拆开这支笔。于是在我用尽了全身的力气试图把后半截儿那点儿拽、拧、拔、揪、拉、扯、推出来还是失败了之后,我决定继续在家里寻宝…………L……LO……LOA……LOAD……LOADI……LOADIN……LOADING 突然,这支笔从床底下蹦到了我的眼前! 就是你了!虽然你是伟尔公司出品的高品质圆珠笔,但为了科学,你就献(chai)身(kai)吧。 然后……我还是傻眼了:尼玛这支笔后半截儿也拆不开啊操!! 不过……这支笔里面有个关键部位可以拆出来,将就一下吧。 为了拍摄高清微距照片,我毅然采用了水滴微距法,将我的note2变成了一个牛逼的微距相机!棒! 这是那个关键的凸轮控制机构的顶部视图,可以看到一共有四个凸笋,两个凸笋下面带沟槽,两个不带。 按下按钮,笔身上两个对称的凸笋如果对应上了不带沟槽的凸笋,那么笔芯卡在远端,笔尖伸出;对应上了带沟槽的凸笋,则直接进入沟槽,笔芯卡在近端,笔尖缩回。 再想象一下,如果有一根针直着插入了笔芯的后(ju)端(hua),然后在按钮上开个眼儿,给针留个通道,那么笔尖缩回那一下,是不是按到底的时候,那根针就会打到你的手指了捏…… 然后的然后,把笔芯上那两个不带沟槽的凸笋再开两个凹槽,那么是不是动一次就打一次,动一次打一次,动次打次,动词打次,苍茫的天涯是我的爱~ 尼玛我发现我脑子彻底乱了,严重期待能讲明白圆珠笔这种凸轮控制的普(shen)通(qi)玩意儿的原理的人的出现。

PostgreSQL 中的 数据类型 使用问题

两边的类型不一致,再重写表达式就好了

postgresql linux 系统英文乱码

设置一下其他环境试试,如果不行的话可以重新安装一下postgresql如果Windows控制台下显示乱码,可使用一下命令解决:chcp 437/* 设置英文环境 */chcp 932/*设置日文环境*/chcp 936/*设置简体中文环境 */chcp 949/*设置韩文环境*/chcp 950/*设置繁体中文环境*/chcp 65001/*设置UTF-8环境*/如果cmd的默认代码页属性修改不了,那么修改注册表:1 win R打开运行,输入regedit打开注册表编辑器。2 找到 [HKEY_CURRENT_USERConsole\%SystemRoot%_system32_cmd.exe]3 修改”CodePage”=dword:000003a8十六进制”000003a8″或十进制”936″,表示“936 (ANSI/OEM – 简体中文 GBK)”。

PostgreSQL用户密码如何通过md5加密存储,是否加了salt

一、PG用户的密码如何通过md5加密,并且是否加了salt?本文将从源码角度跟踪分析。PG用户通过md5加密时,加了salt,而这个salt是用户名字符串。二、源码分析CreateRole: shadow_pass = encrypt_password(Password_encryption, stmt->role,password); |-- pg_md5_encrypt(password, role, strlen(role),encrypted_password); | |-- memcpy(crypt_buf, passwd, passwd_len); | | memcpy(crypt_buf + passwd_len, role, strlen(role)); | | strcpy(buf, "md5"); |-- |-- pg_md5_hash(crypt_buf, passwd_len + salt_len, buf + 3); new_record[Anum_pg_authid_rolpassword - 1] =CStringGetTextDatum(shadow_pass);三、gdb跟踪1、在函数encrypt_password上打断点,然后客户端执行:create user yzs with password ‘123456‘;创建带密码的用户,观察是否默认使用md5。postgres=# create user yzs with password ‘123456‘;2、堆栈信息Breakpoint 1, encrypt_password (target_type=PASSWORD_TYPE_MD5, role=0x99c3b3c "yzs", password=0x99c3b4c "123456") at crypt.c:111111 PasswordType guessed_type = get_password_type(password);(gdb) bt#0 encrypt_password (target_type=PASSWORD_TYPE_MD5, role=0x99c3b3c "yzs", password=0x99c3b4c "123456") at crypt.c:111#1 0x0827b7a2 in CreateRole (pstate=0x9a0d804, stmt=0x99c3bbc) at user.c:412#2 0x0840fc18 in standard_ProcessUtility (pstmt=0x99c3c14, queryString=0x99c31dc "create user yzs with password ‘123456‘;", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x99c3d74, completionTag=0xbf9119e6 "") at utility.c:722#3 0x0840f42a in ProcessUtility (pstmt=0x99c3c14, queryString=0x99c31dc "create user yzs with password ‘123456‘;", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x99c3d74, completionTag=0xbf9119e6 "") at utility.c:357#4 0x0840e6ea in PortalRunUtility (portal=0x9a20634, pstmt=0x99c3c14, isTopLevel=1 ‘01‘, setHoldSnapshot=0 ‘00‘, dest=0x99c3d74, completionTag=0xbf9119e6 "") at pquery.c:1178#5 0x0840e8b7 in PortalRunMulti (portal=0x9a20634, isTopLevel=1 ‘01‘, setHoldSnapshot=0 ‘00‘, dest=0x99c3d74, altdest=0x99c3d74, completionTag=0xbf9119e6 "") at pquery.c:1324#6 0x0840ded2 in PortalRun (portal=0x9a20634, count=2147483647, isTopLevel=1 ‘01‘, run_once=1 ‘01‘, dest=0x99c3d74, altdest=0x99c3d74, completionTag=0xbf9119e6 "") at pquery.c:799#7 0x08408692 in exec_simple_query (query_string=0x99c31dc "create user yzs with password ‘123456‘;") at postgres.c:1099#8 0x0840c5d4 in PostgresMain (argc=1, argv=0x997edc4, dbname=0x997ecf4 "postgres", username=0x99558cc "postgres") at postgres.c:4088#9 0x083864e6 in BackendRun (port=0x9978038) at postmaster.c:4409#10 0x08385c5d in BackendStartup (port=0x9978038) at postmaster.c:4081#11 0x083822d9 in ServerLoop () at postmaster.c:1755#12 0x083819d6 in PostmasterMain (argc=3, argv=0x9953810) at postmaster.c:1363#13 0x082dfb60 in main (argc=3, argv=0x9953810) at main.c:228(gdb) n114 if (guessed_type != PASSWORD_TYPE_PLAINTEXT)(gdb) 123 switch (target_type)(gdb) 126 encrypted_password = palloc(MD5_PASSWD_LEN + 1);(gdb) 128 if (!pg_md5_encrypt(password, role, strlen(role),(gdb) spg_md5_encrypt (passwd=0x99c3b4c "123456", salt=0x99c3b3c "yzs", salt_len=3, buf=0x9a0d984 "") at md5.c:326326 size_t passwd_len = strlen(passwd);(gdb) n329 char *crypt_buf = malloc(passwd_len + salt_len + 1);(gdb) 332 if (!crypt_buf)(gdb) 339 memcpy(crypt_buf, passwd, passwd_len);(gdb) 340 memcpy(crypt_buf + passwd_len, salt, salt_len);(gdb) p crypt_buf$1 = 0x9979e68 "123456A"(gdb) n342 strcpy(buf, "md5");(gdb) p crypt_buf$2 = 0x9979e68 "123456yzs? Q"(gdb) n343 ret = pg_md5_hash(crypt_buf, passwd_len + salt_len, buf + 3);(gdb) p crypt_buf$3 = 0x9979e68 "123456yzs? Q"(gdb) n345 free(crypt_buf);(gdb) p crypt_buf$4 = 0x9979e68 "123456yzs? Q"(gdb) n347 return ret;(gdb) 348 }(gdb) p ret$5 = 1 ‘01‘(gdb) nencrypt_password (target_type=PASSWORD_TYPE_MD5, role=0x99c3b3c "yzs", password=0x99c3b4c "123456") at crypt.c:131131 return encrypted_password;(gdb) 146 }(gdb) CreateRole (pstate=0x9a0d804, stmt=0x99c3bbc) at user.c:415415 CStringGetTextDatum(shadow_pass);(gdb) p shadow_pass$6 = 0x9a0d984 "md5aed8080c314507e15542d5e9519723a8"3、从pg_authid表中观察该用户经过md5加过密的密码值,可以看出和堆栈信息中看到的一样postgres=# select *from pg_authid where rolname=‘yzs‘; rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcanlogin | rolreplication | rolbypa***ls | rolconnlimit | rolpassword | rolvaliduntil ---------+----------+------------+---------------+-------------+-------------+----------------+--------------+--------------+-------------------------------------+--------------- yzs | f | t | f | f | t | f | f | -1 | md5aed8080c314507e15542d5e9519723a8 | (1 row)PostgreSQL用户密码如何通过md5加密存储,是否加了salt标签:sha使用ethportfreeeveargcget用户密码

postgresql怎么查看锁表

SELECTn.nspname as "Schema",c.relname as "Name",CASE c.relkind WHEN "r" THEN "table" WHEN "v" THEN "view" WHEN "i" THEN "index" WHEN "S" THEN "sequence" WHEN "s" THEN "special" END as "Type",r.rolname as "Owner"FROM pg_catalog.pg_class cJOIN pg_catalog.pg_roles r ON r.oid = c.relownerLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ("v","")AND n.nspname = "pg_catalog"AND n.nspname !~ "^pg_toast"AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2;查看当前活动的客户端连接数:SELECT count(*) FROM pg_stat_activity WHERE NOT procpid=pg_backend_pid();查询客户端连接的情况:SELECT procpid,waiting,current_timestamp - least(query_start,xact_start) AS runtime,substr(current_query,1,25) AS current_query FROM pg_stat_activity WHERE NOT procpid=pg_backend_pid();查看当前锁的一些信息:SELECTlocktype,virtualtransaction,transactionid,nspname,relname,mode,granted,cast(date_trunc("second",query_start) AS timestamp) AS query_start,substr(current_query,1,25) AS queryFROMpg_locksLEFT OUTER JOIN pg_class ON (pg_locks.relation = pg_class.oid)LEFT OUTER JOIN pg_namespace ON (pg_namespace.oid = pg_class.relnamespace),pg_stat_activityWHERENOT pg_locks.pid=pg_backend_pid() ANDpg_locks.pid=pg_stat_activity.procpid;查看持有锁的一些信息:SELECTlocked.pid AS locked_pid,locker.pid AS locker_pid,locked_act.usename AS locked_user,locker_act.usename AS locker_user,locked.virtualtransaction,locked.transactionid,locked.locktypeFROMpg_locks locked,pg_locks locker,pg_stat_activity locked_act,pg_stat_activity locker_actWHERElocker.granted=true ANDlocked.granted=false ANDlocked.pid=locked_act.procpid ANDlocker.pid=locker_act.procpid AND(locked.virtualtransaction=locker.virtualtransaction ORlocked.transactionid=locker.transactionid);还是查看锁的一些信息:SELECTlocked.pid AS locked_pid,locker.pid AS locker_pid,locked_act.usename AS locked_user,locker_act.usename AS locker_user,locked.virtualtransaction,locked.transactionid,relnameFROMpg_locks lockedLEFT OUTER JOIN pg_class ON (locked.relation = pg_class.oid),pg_locks locker,pg_stat_activity locked_act,pg_stat_activity locker_actWHERElocker.granted=true ANDlocked.granted=false ANDlocked.pid=locked_act.procpid ANDlocker.pid=locker_act.procpid ANDlocked.relation=locker.relation;查看当前库表和索引的的大小并排序显示前20条:SELECTnspname,relname,pg_size_pretty(pg_relation_size(C.oid)) AS "size"FROM pg_class CLEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)WHERE nspname NOT IN ("pg_catalog", "information_schema")ORDER BY pg_relation_size(C.oid) DESCLIMIT 20;pg_total_relation_size = pg_table_size + pg_indexes_sizepg_table_size = pg_relation_size + toast table + toast indexes + FSM9.0以后:SELECTnspname,relname,relkind as "type",pg_size_pretty(pg_table_size(C.oid)) AS size,pg_size_pretty(pg_indexes_size(C.oid)) AS idxsize,pg_size_pretty(pg_total_relation_size(C.oid)) as "total"FROM pg_class CLEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)WHERE nspname NOT IN ("pg_catalog", "information_schema") ANDnspname !~ "^pg_toast" ANDrelkind IN ("r","i")ORDER BY pg_total_relation_size(C.oid) DESCLIMIT 20;

postgresql如何维护WAL日志/归档日志

. 参数max_wal_size/min_wal_size 9.5以前: (2 + checkpoint_completion_target) * checkpoint_segments + 1 9.5:PostgreSQL 9.5 将废弃checkpoint_segments 参数, 并引入max_wal_size 和 min_wal_size 参数, 通过max_wal_size和checkpoint_completion_target 参数来控制产生多少个XLOG后触发检查点, 通过min_wal_size和max_wal_size参数来控制哪些XLOG可以循环使用。2. 参数wal_keep_segments 在流复制的环境中。使用流复制建好备库,如果备库由于某些原因接收日志较慢。导致备库还未接收到。就被覆盖了。导致主备无法同步。这个需要重建备库。 避免这种情况提供了该参数。每个日志文件大小16M。如果参数设置64. 占用大概64×16=1GB的空间。根据实际环境设置。3. pg_resetxlog 在前面参数设置合理的话。是用不到pg_resetxlog命令。 使用案例参考: https://my.oschina.net/Kenyon/blog/101432[postgres@postgres128 ~]$ pg_resetxlog -?pg_resetxlog resets the PostgreSQL transaction log.Usage: pg_resetxlog [OPTION]... DATADIROptions: -c XID,XID set oldest and newest transactions bearing commit timestamp (zero in either value means no change) [-D] DATADIR data directory -e XIDEPOCH set next transaction ID epoch -f force update to be done -l XLOGFILE force minimum WAL starting location for new transaction log -m MXID,MXID set next and oldest multitransaction ID -n no update, just show what would be done (for testing) -o OID set next OID -O OFFSET set next multitransaction offset -V, --version output version information, then exit -x XID set next transaction ID -?, --help show this help, then exitReport bugs to <pgsql-bugs@postgresql.org>. 归档日志维护1. pg_archivecleanup清理归档日志。[postgres@postgres128 ~]$ pg_archivecleanup -?pg_archivecleanup removes older WAL files from PostgreSQL archives.Usage: pg_archivecleanup [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILEOptions: -d generate debug output (verbose mode) -n dry run, show the names of the files that would be removed -V, --version output version information, then exit -x EXT clean up files if they have this extension -?, --help show this help, then exitFor use as archive_cleanup_command in recovery.conf when standby_mode = on: archive_cleanup_command = ‘pg_archivecleanup [OPTION]... ARCHIVELOCATION %r‘e.g. archive_cleanup_command = ‘pg_archivecleanup /mnt/server/archiverdir %r‘Or for use as a standalone archive cleaner:e.g. pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup1.1 当主库不断把WAL日志拷贝到备库。这个时候需要清理。在recovery.conf可以配置 e.g. archive_cleanup_command = ‘pg_archivecleanup /mnt/server/archiverdir %r‘1.2 可以收到执行命令。e.g. pg_archivecleanup /home/postgres/arch/ 000000010000000000000009在归档目录/home/postgres/arch/ 把000000010000000000000009之前的日志都清理。2. pg_rman备份参考博客 http://www.cnblogs.com/lottu/p/7490615.html在pg_rman备份保留策略中。在每天都备份。可以清理归档日志。对流复制环境中。备份一般是在备库。可以把归档日志传送到备库中。 --keep-arclog-files=NUM keep NUM of archived WAL --keep-arclog-days=DAY keep archived WAL modified in DAY dayse.g 保留归档日志个数10。或者保留10天内的归档日志。 KEEP_ARCLOG_FILES = 10 KEEP_ARCLOG_DAYS = 10 在备份信息中会产生以下信息。INFO: start deleting old archived WAL files from ARCLOG_PATH (keep files = 10, keep days = 10)postgresql如何维护WAL日志/归档日志标签:-oarchtargenbspnimamp16进制segment如何

求罗珊娜·马奎达(Roxane Mesquida)电影全集

已发送,请查收。

如何查看postgresql数据库用户

postgres=#duListofrolesRolename|e5a48de588b6e799bee5baa6e997aee7ad9431333363366263Attributes|Memberof-----------+------------------------------------------------+-----------mqis|Passwordvaliduntilinfinity|{}mqis_app|Passwordvaliduntilinfinity|{}postgres|Superuser,Createrole,CreateDB,Replication|{}postgres=#SELECTu.usenameAS"Username",u.usesysidAS"UserID",CASEWHENu.usesuperANDu.usecreatedbTHENCAST("superuser,createdatabase"ASpg_catalog.text)WHENu.usesuperTHENCAST("superuser"ASpg_catalog.text)WHENu.usecreatedbTHENCAST("createdatabase"ASpg_catalog.text)ELSECAST(""ASpg_catalog.text)ENDAS"Attributes"FROMpg_catalog.pg_useruORDERBY1;-------------------------------------------------Username|UserID|Attributes-----------+---------+-------------------mqis|16393|mqis_app|16397|postgres|10|superuser,create+||database(3rows)postgres=#

postgresql无法正常启动的原因追查

仔细分析,无非几个原因: 1、log目录的权限问题,比如log文件指定的目录postgres用户无权写入,因此没有产生任何log文件。检查了/var/lib/postgresql/11/main的目录,没有发现问题。 2、配置文件的权限问题,检查了/etc/postgresql/11/main目录,也没有发现任何问题,postgres用户是有权限读取配置文件的。 3、配置文件有错误导致无法正常启动postgresql。排除了上面的两个原因,这个应该是最大的原因了。但是,错误在哪里呢?没有给出提示啊! u2003尝试了service postgresql start, pg_ctrcluster, pg_ctl均无法给出任何提示,后来才想明白,这几个都是对postmaster的脚本封装啊,也许这些封装忽略了什么重要的信息!应该直接运行postmaster才能得到直接的出错提示的!果然,执行/usr/lib/postgresql/11/bin/下的postmaster给出了提示,执行语句: u2003看到这里立刻明白了:我将postgresql.conf中的lc_messages改为了 en_US.UTF-8,可是没有产生en_US.UTF-8的locale文件啊!于是修改/etc/locales.gen文件添加en_US.UTF-8,执行locales.gen,再次启动postgresql,成功!

求助,postgresql服务启动不了

postmaster.pid是postgresql服务自动产生的,记录服务进程号的,不要人为去改动它。服务停止时,会自动删除。如果有遗留下,那就手工删除掉在启动前,这个文件是不应该存在的,如果这个文件不存在,服务还是无法启动,那就不是postmaster.pid的问题。是否还有其他错误信息?

PostgreSQL服务器启动及关闭方法

PostgreSQL服务器启动及关闭方法   PostgreSQL采用C/S(客户机/服务器)模式结构。应用层通过INET或者Unix Socket利用既定的协议与数据库服务器进行通信。下面我为大家搜集相关的PostgreSQL服务器启动及关闭方法!   1. 启动数据库服务器(posgres用户):   [postgres@localhost bin]$ postgres -D /opt/postgresql/data/ > /opt/postgresql/log/pg_server.log 2>&1 &   [1] 4508   当然如果设置了环境变量   PGDATA=/opt/postgresql/data   export PGDATA   后,可使用pg_ctl工具进行启动:   [postgres@localhost log]$ pg_ctl start -l /opt/postgresql/log/pg_server.log   pg_ctl: another server might be running; trying to start server anyway   pg_ctl: could not start server   Examine the log output.   [postgres@localhost log]$   因为之前已经启动,所以打印“another server might be running”。此时,查看日志,有如下信息:   [postgres@localhost log]$ cat pg_server.log   FATAL: lock file "postmaster.pid" already exists   HINT: Is another postmaster (PID 4491) running in data directory "/opt/postgresql/data"?   [postgres@localhost log]$   当然,最简的.启动方式是:   [postgres@localhost ~]$ pg_ctl start   server starting   [postgres@localhost ~]$ LOG: database system was shut down at 2011-07-09 13:58:00 CST   LOG: autovacuum launcher started   LOG: database system is ready to accept connections   如果要在操作系统启动时就启动PG,可以在/etc/rc.d/rc.local 文件中加以下语句:   /opt/postgresql/bin/pg_ctl start -l /opt/postgresql/log/pg_server.log -D /opt/postgresql/data   2.关闭服务器   最简单方法:   [postgres@localhost ~]$ pg_ctl stop   waiting for server to shut down.... done   server stopped   与Oracle相同,在关闭时也可采用不同的模式,简介如下:   SIGTERM   不再允许新的连接,但是允许所有活跃的会话正常完成他们的工作,只有在所有会话都结束任务后才关闭。这是智能关闭。   SIGINT   不再允许新的连接,向所有活跃服务器发送 SIGTERM(让它们立刻退出),然后等待所有子进程退出并关闭数据库。这是快速关闭。   SIGQUIT   令 postgres 向所有子进程发送 SIGQUIT 并且立即退出(所有子进程也会立即退出),而不会妥善地关闭数据库系统。这是立即关闭。这样做会导致下次启动时的恢复(通过重放 WAL 日志)。我们推荐只在紧急的时候使用这个方法。   SIGKILL   此选项尽量不要使用,这样会阻止服务器清理共享内存和信号灯资源,那样的话你只能在启动服务器之前自己手工做这件事。另外,SIGKILL 直接把 postgres 杀掉,而不会等它把信号中继给它的子进程,因此我们还需要手工杀掉每个独立子进程。   使用方法举例:   [postgres@localhost ~]$ pg_ctl stop -o SIGTERM   LOG: received smart shutdown request   LOG: autovacuum launcher shutting down   waiting for server to shut down....LOG: shutting down   LOG: database system is shut down   done   server stopped   [postgres@localhost ~]$   最快速关闭方法:kill postgres 进程   [postgres@localhost ~]$ kill -INT `head -1 /opt/postgresql/data/postmaster.pid`   [postgres@localhost ~]$ LOG: received fast shutdown request   LOG: aborting any active transactions   LOG: autovacuum launcher shutting down   LOG: shutting down   LOG: database system is shut down   附:postgre启动后的进程,如下:   [postgres@localhost ~]$ ps -ef|grep post   root 4609 4543 0 13:57 pts/2 00:00:00 su - postgres   postgres 4610 4609 0 13:57 pts/2 00:00:00 -bash   postgres 4724 1 0 14:08 pts/2 00:00:00 /opt/postgresql/bin/postgres   postgres 4726 4724 0 14:08 ? 00:00:00 postgres: writer process   postgres 4727 4724 0 14:08 ? 00:00:00 postgres: wal writer process   postgres 4728 4724 0 14:08 ? 00:00:00 postgres: autovacuum launcher process   postgres 4729 4724 0 14:08 ? 00:00:00 postgres: stats collector process   postgres 4752 4610 0 14:11 pts/2 00:00:00 ps -ef   postgres 4753 4610 0 14:11 pts/2 00:00:00 grep post   [postgres@localhost ~]$ ;

postgreSQL数据库里导入导出的sql语句是什么?

Postgresql数据的导入和导出,以及copy命令介绍如何导出PostgreSQL数据库中的数据:pg_dump-Upostgres-fdump.sqlmydatabase具体某个表pg_dump-Upostgres-tmytable-fdump.sqlmydatabase导入数据时首先创建数据库再用psql导入:createdbnewdatabasepsql-dnewdatabase-Upostgres-fdump.sql把数据按照自己所想的方式导出,强大的copy命令:echo"copystudentsto?stdoutDELIMITER"|""|psqlschool|head(students为表名,school为库名,各个字段以|分隔)echo"copy(select*fromstudentsorderbyagelimit10)tostdout;"|psqlschool

如何学习PostgreSQLSQL语法

我们可以利用psql命令来查询sql语法。切换到PostgreSQL用户下,我们可以利用psql命令来查询sql语法。切换到PostgreSQL用户下,[doctor@localhost ~]$ su - postgres 密码:su: 鉴定故障[doctor@localhost ~]$ su - postgres 密码:-bash-4.3$ bashbash-4.3$ psql psql (9.4.2)输入 "help" 来获取帮助信息.postgres=#postgres=# help您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面键入: copyright 显示发行条款 h 显示 SQL 命令的说明 ? 显示 pgsql 命令的说明 g 或者以分号(;)结尾以执行查询 q 退出postgres=#h 命令就是我们用来学习sql语法的命令。postgres=# h可用的说明: ABORT DEALLOCATE ALTER AGGREGATE DECLARE ALTER COLLATION DELETE ALTER CONVERSION DISCARD ALTER DATABASE DO ALTER DEFAULT PRIVILEGES DROP AGGREGATE ALTER DOMAIN DROP CAST ALTER EVENT TRIGGER DROP COLLATION ALTER EXTENSION DROP CONVERSION ALTER FOREIGN DATA WRAPPER DROP DATABASE ALTER FOREIGN TABLE DROP DOMAIN ALTER FUNCTION DROP EVENT TRIGGER ALTER GROUP DROP EXTENSION ALTER INDEX DROP FOREIGN DATA WRAPPER ALTER LANGUAGE DROP FOREIGN TABLE ALTER LARGE OBJECT DROP FUNCTION ALTER MATERIALIZED VIEW DROP GROUP ALTER OPERATOR DROP INDEX ALTER OPERATOR CLASS DROP LANGUAGE ALTER OPERATOR FAMILY DROP MATERIALIZED VIEW ALTER ROLE DROP OPERATOR ALTER RULE DROP OPERATOR CLASSpostgres=# h select命令: SELECT描述: 从资料表或视观表读取资料语法:[ WITH [ RECURSIVE ] with查询语句(with_query) [, ...] ]SELECT [ ALL | DISTINCT [ ON ( 表达式 [, ...] ) ] ] [ * | 表达式 [ [ AS ] 输出名称 ] [, ...] ] [ FROM from列表中项 [, ...] ] [ WHERE 条件 ] [ GROUP BY 表达式 [, ...] ] [ HAVING 条件 [, ...] ] [ WINDOW 窗口名称 AS ( 窗口定义 ) [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] 查询 ] [ ORDER BY 表达式 [ ASC | DESC | USING 运算子 ] [ NULLS { FIRST | LAST } ] [, ...] ] [ LIMIT { 查询所用返回记录的最大数量 | ALL } ] [ OFFSET 起始值 [ ROW | ROWS ] ] [ FETCH { FIRST | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY ] [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF 表名 [, ...] ] [ NOWAIT ] [...] ]from 列表中的项可以是下列内容之一 [ ONLY ] 表名 [ * ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ] [ LATERAL ] ( 查询 ) [ AS ] 化名 [ ( 列的化名 [, ...] ) ] WITH查询语句名称(with_query_name) [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ] [ LATERAL ] 函数名称 ( [ 参数 [, ...] ] ) [ WITH ORDINALITY ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ] [ LATERAL ] 函数名称 ( [ 参数 [, ...] ] ) [ AS ] 化名 ( 列定义 [, ...] ) [ LATERAL ] 函数名称 ( [ 参数 [, ...] ] ) AS ( 列定义 [, ...] ) [ LATERAL ] ROWS FROM( 函数名称 ( [ 参数 [, ...] ] ) [ AS ( 列定义 [, ...] ) ] [, ...] ) [ WITH ORDINALITY ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ] from列表中项 [ NATURAL ] 连接操作的类型 from列表中项 [ ON 用连接操作的条件 | USING ( 用于连接操作的列 [, ...] ) ]with查询语句是: WITH查询语句名称(with_query_name) [ ( 列名称 [, ...] ) ] AS ( 查询 | 值 | insert | update | delete )TABLE [ ONLY ] 表名 [ * ]postgres=#看这命令对于学习sql语法很有用。------------------------------------华丽丽的分割线------------------------------------CentOS 6.3环境下yum安装PostgreSQL 9.3 PostgreSQL缓存详述 Windows平台编译 PostgreSQL Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装 Ubuntu上的phppgAdmin安装及配置 CentOS平台下安装PostgreSQL9.3 PostgreSQL配置Streaming Replication集群 如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin ------------------------------------华丽丽的分割线------------------------------------PostgreSQL 的详细介绍:请点这里PostgreSQL 的下载地址:请点这里本文永久更新链接地址:,

postgresql存储过程怎么用

PostgreSQL有pldbgapi扩展,先安装此扩展。首先,需要将debug的模组载入到PostgreSQL服务器中去。做法是: 在pgAdminIII中以管理员登录,然后选择菜单“工具->服务器配置->postgresql.conf”,在配置窗口中,双击项目"shared_preload_libraries",在其设定窗口中,将值设置成plugin_debugger的路径(Windows 9.3版本的为$libdir/plugin_debugger.dll, $libdir一般为PostgreSQL安装目录下的lib文件夹)。非Windows系统的后缀名会有所不同,可能为plugin_debugger.so。注意,在做这一步时最好先备份配置文件,以防指定文件找不到而导致服务器不能启动。在设定完成之后,重新启动PostgreSQL服务(以启动debug插件)。然后在pgAdminIII中扩展安装时选择如下图项目,这样在函数的右键菜单中就有调试选项了,当然,最常用的调试方式就是自己直接调用函数来查看执行结果是否正确。

PostgreSQl好用,还是mySql好用?

PostgreSQl适合中型以上应用,支持的数据量大mySql中小型应用方便和PHP是绝配啊。在国内用MYSQL的开发人员多,查找资料和帮助相对容易。

PostgreSQL 9从零开始学怎么样

好! PostgreSQL是一个开源的数据库管理系统,功能强大,能应用于大型的商业用途,而且免费。

为什么 PostgreSQL 在国内流行度远不如 MySQL,主要是哪些方面的原因造成的?

PostgreSQL技术社区存在问题,在社区中他们很快就回答了问题,但在一些设计问题上,核心员工很顽固尤其是对当前的社区版本,即使有一个明显的错误,也不愿承认。它的学院派味道太浓,对很多商业上的考虑比较少。例如使用神经遗传算法解决几千个表连接时的连接顺序问题;这种问题商业界可能不会有人这么干。而像商业应用必须考虑到index生成问题:一个应用不断在访问数据库时,运行 create index concurrently 居然会一直等待。而且死活不会被承认为bug。我认为MySQL能够流行起来,一定有它的道理。而PostgreSQL出现很多年了,甚至可以说和Ingres/DBase/CA DB/Sybase SQL Server都有渊源,但是没能流行也一定有它的原因,主要还是没有贴近商业界吧。mysql用的人多,但mysql有它的局限性,一般在mysql上碰到钉子了才会考虑postgres,但问题是mysql能适用于绝大部分互联网项目。postgres也在慢慢流行起来了,毕竟它的优势在那里——对事务的良好支持,并发良好的支持,以及复杂查询的优化能力。这对于很多对一致性要求高的复杂系统都是很有必要的。

PostgreSQL数据库中char,varchar和text的区别是什么?

一般来说,SQL类数据库都会有三种字符串类型:固定长度的char,限定最大长度的varchar,可变长度的text。  在使用MySql的时候,我们通常会被告知,使用有最大长度的char或者varchar会在性能方面有好处,而在PostgreSQL中,却不一定是这样。  在PostgreSQL中,这三种类型的字符串数据并没有明显的性能差别,而且character(n)类型的数据一般是最慢的,因为固定长度导致更多的存储空间。所以,一般来说,text或者character varying就行了。

PostgreSQL数据库smallint、bigint转到Oracle,要用什么类型替代? 是number么,那长度分别是多少?

请参考

PostgreSQL中的NUMERIC(x.x)类型对应Java中的什么数据类型?

看你对精度的要求大不大。如果你允许部分的精度丢失的, 那么可以用 Double.如果你那一列, 是用来存储金额的, 不允许精度丢失的, 那么还是使用 BigDecimal 比较好!

为什么postgresql-9.1服务启动不了 启动的 时候提示在启动后停止 是什么问题 球大神 指教

1、看看服务里的 Postgres 服务的用户名、密码,必须用 postres 用户启动的。2、鉴于重启后就启动不了,是不是服务设置手动,或者是安装了影子系统3、会不会是安装的时候,上一次的安装没有卸载干净?4、手动启动服务试试看,看看系统日志有没有相应内容分。5、到 c:program files下的安装目录(假设是windows)看看log 文件夹里的日志6、进入cmd, netstat -na ,看看开了多少端口,很多病毒会强占许多端口,包括5432端口,如果5432被占用,肯定不行。netstat -navbo 会查看是哪个进程7、安装的时候,locale 是不是选择了默认一路Next, 卸载,用locale = "C"试试看!

python如何监控PostgreSQL代码运行

如何监控PostgreSQL存储过程/函数代码运行?本文介绍用python+微信/邮件的方式进行报警、监控。首先要有一张表、用于存放PostgreSQL存储过程/函数代码运行异常的信息。处理原则:若出现异常;把“发生时间+所在的程序+原因”通过微信/邮件发给对应人员。当然发送一次即可;起到通知的效果。一、媒介通过什么方式进行发送内容;下面介绍微信/邮件两种方式1、python发送微信py_wechar.py的内容企业微信号;大家可以到企业微信上配置#!/usr/bin/python3#coding=utf-8import jsonimport timeimport urllib.request as urllib2options = {? ? ‘WeiXin‘: {? ? ? ? ? ? ‘corp_id‘: ‘*‘,? #微信企业号ID? ? ? ? ? ? ‘agent_id‘: ‘*‘, #微信企业号应用ID? ? ? ? ? ? ‘agent_secret‘: ‘*‘,? #微信企业号密钥? ? ? ? ? ? ‘to_user‘: ‘@all‘? #发送给谁? ? },}class WeiXinSendMsg:? ? def __init__(self, wx_conf):? ? ? ? self.corp_id = wx_conf.get(‘corp_id‘)? ? ? ? self.agent_secret = wx_conf.get(‘agent_secret‘)? ? ? ? self.agent_id = wx_conf.get(‘agent_id‘)? ? ? ? self.to_user = wx_conf.get(‘to_user‘)? ? ? ? self.token = self.get_token()?? ? ? ? self.token_update_time = int(time.time())? ? ? ??? ? def get_token(self):? ? ? ? get_token_url = ‘https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=‘ + self.corp_id + ‘&corpsecret=‘ + self.agent_secret? ? ? ? token = json.loads(urllib2.urlopen(get_token_url).read().decode(‘utf-8‘))[‘access_token‘]? ? ? ? if token:? ? ? ? ? ? return token? ? # 微信发送端的token每1800秒会更新一次? ? def update_token(self):? ? ? ? if int(time.time()) - self.token_update_time >= 1800:? ? ? ? ? ? self.token = self.get_token()? ? ? ? ? ? self.token_update_time = int(time.time())? ? def send_message(self, msg):? ? ? ? try:? ? ? ? ? ? self.update_token()? ? ? ? ? ? send_url = ‘https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=‘ + self.token? ? ? ? ? ? send_val = {"touser":self.to_user, "toparty":"", "msgtype":"text", "agentid":self.agent_id, "text":{"content":msg}, "safe":"0"}? ? ? ? ? ? send_data = json.dumps(send_val, ensure_ascii=True).encode("utf-8")? ? ? ? ? ? send_request = urllib2.Request(send_url, send_data)? ? ? ? ? ? response = json.loads(urllib2.urlopen(send_request).read())? ? ? ? except Exception as e:? ? ? ? ? ? print(‘Exception WeiXin send_message:‘, e)if __name__ == ‘__main__‘:? ? WeiXin = WeiXinSendMsg(options.get(‘WeiXin‘))? ? WeiXin.send_message(‘hello world / 测试‘)2、python发送邮件py_email.py的内容#!/usr/bin/python3#coding=utf-8import smtplibfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddroptions = {? ? ‘Email‘: {? ? ? ? ‘smtp_server‘: ‘smtp.exmail.qq.com‘,? #邮箱服务器地址? ? ? ? ‘from_addr‘: ‘monitor@qq.com‘,? #发送人账号? ? ? ? ‘password‘: ‘123456‘, #发送人密码? ? ? ? ‘to_addr‘: [‘hanbo@126.com‘, ‘hanbo@163.com‘], #发送给谁? ? }}class EmailSendMsg:? ? def __init__(self, email_conf):? ? ? ? self.smtp_server = email_conf.get(‘smtp_server‘)? ? ? ? self.from_addr = email_conf.get(‘from_addr‘)? ? ? ? self.password = email_conf.get(‘password‘)? ? ? ? self.to_addr = email_conf.get(‘to_addr‘)? ? # def __del__(self):? ? #? ? ?self.server.quit()? ? def format_addr(self, str):? ? ? ? name, addr = parseaddr(str)? ? ? ? return formataddr(( ? ? ? ? ? ? Header(name, ‘utf-8‘).encode(), ? ? ? ? ? ? addr.encode(‘utf-8‘) if isinstance(addr, unicode) else addr))? ??? ? def send_msg(self, text):? ? ? ? try:? ? ? ? ? ? self.server = smtplib.SMTP(self.smtp_server, 25)? ? ? ? ? ? self.server.set_debuglevel(1)? ? ? ? ? ? self.server.login(self.from_addr, self.password)? ? ? ? ? ? msg = MIMEText(text, ‘plain‘, ‘utf-8‘)? ? ? ? ? ? msg[‘From‘] = self.format_addr(u‘监控 <%s>‘ % self.from_addr)? ? ? ? ? ? for i in range(len(self.to_addr)):? ? ? ? ? ? ? ? msg[‘To‘] = self.format_addr(u‘<%s>‘ % self.to_addr[i])? ? ? ? ? ? msg[‘Subject‘] = Header(u‘异常报警?‘, ‘utf-8‘).encode()? ? ? ? ? ? self.server.sendmail(self.from_addr, self.to_addr, msg.as_string())? ? ? ? ? ? self.server.quit()? ? ? ? except Exception as e:? ? ? ? ? ? print ‘Exception Email send_message:‘, eif __name__ == ‘__main__‘: Email = EmailSendMsg(options.get(‘Email‘)) Email.send_msg(‘hello world!‘)二、python连接数据库PostgreSQL Python看这个链接可以研究下python如何连接PostgreSQL数据库三、python报警上面我们知道如何通过python发送微信内容、以及python连接PostgreSQL数据库。现在我们要如何获取报警时机;报警内容。python_alert.py#!/usr/bin/python3?import psycopg2from config import configfrom py_wechar import WeiXinSendMsg,optionsdef get_errors():? ? """ query data from the vendors table """? ? conn = None? ? try:? ? ? ? params = config()? ? ? ? WeiXin = WeiXinSendMsg(options.get(‘WeiXin‘))? ? ? ? conn = psycopg2.connect(**params)? ? ? ? cur = conn.cursor()? ? ? ? cur.execute("select error_time, error_desc, proc_name from adsas.tbl_error_log where deal_status = 0 order by id")? ? ? ? rows = cur.fetchall()? ? ? ? if cur.rowcount > 0 :? ? ? ? ? ? WeiXin.send_message("The number of parts: {}".format(cur.rowcount))? ? ? ? ? ? for row in rows:? ? ? ? ? ?# WeiXin.send_message(‘-‘*60)? ? ? ? ? ?# WeiXin.send_message(‘发生时间:{}‘.format(row[0]))? ? ? ? ? ?# WeiXin.send_message(‘错误原因:{}‘.format(row[1]))? ? ? ? ? ?# WeiXin.send_message(‘报警代码:{}‘.format(row[2]))? ? ? ? ? ? ? ? str_error=‘发生时间:{} 错误原因:{} 报警代码:{}‘.format(row[0],row[1],row[2])? ? ? ? ? ? ? ? WeiXin.send_message(str_error)? ? ? ? ? ? cur.execute("update adsas.tbl_error_log set deal_status = 1 where deal_status = 0 ") ? ? ? ? conn.commit()? ? ? ? cur.close()? ? except (Exception, psycopg2.DatabaseError) as error:? ? ? ? print(error)? ? finally:? ? ? ? if conn is not None:? ? ? ? ? ? conn.close()if __name__ == ‘__main__‘:? ? get_errors()四、部署可以通过cron/或者开源的定时任务系统进行报警;报警信息:python如何监控PostgreSQL代码运行标签:try链接mimesagesetnec发送邮件nal运行

若要玩转大数据,在什么应用场景使用Hadoop,PostgreSQL

但是由于“大数据”和“Hadoop”这两个热门词,即使很多人实际上不需要Hadoop,他们也愿意穿上“紧身衣”。  一、如果我的数据量是几百兆,Excel可能没法加载它  对于Excel软件来说的“很大的数据”并非大数据,其实还有其它极好的工具可以使用——我喜欢的Pandas。Pandas构建于Numpy库 之上,可以以矢量格式的方式有效地把数百兆的数据载入到内存中。在我购买已3年的笔记本上,它可以用Numpy在一眨眼的功夫把1亿的浮点数乘在一起。 Matlab和R也是极好的工具。  对于几百兆的数据量,典型的做法是写一个简单的Python脚本按行读取文件行,并处理它,向另一个文件写入。  二、如果我的数据是10GB呢  我买了个新笔记本,它有16GB的内存和256GB的SSD。如果你要载入一个10GB的CSV文件到Pandas,它占用的内存实际上是很小的 ——其结果是以数字类型的字符串保存的,如“17284832583”作为4字节货8字节的整数,或存储“284572452.2435723”字符串作 为8字节的双精度浮点数。  最坏的情况是你或许不能把所有的数据都同时载入到内存中。  三、如果我的数据是100GB、500GB或1TB呢  买个2TB或4TB的硬盘,在桌面PC或服务器上安装一个Postgre来解决它。  四、Hadoop远远比不上SQL或Python脚本  在计算的表达方面,Hadoop弱于SQL,也弱于Python脚本。  SQL是一个很直接的查询语言,适合做业务分析,SQL的查询相当简单,而且还非常快——如果你的数据库使用了正确的索引,二级查询或多级查询另当别论。  Hadoop没有索引的概念,Hadoop只有全表扫描,Hadoop有高度泄露抽象——我花了很多时间来处理Java的内存错误、文件碎片以及集群竞争,这些时间远大于我花在数据分析上的时间。  如果你的数据并不是像SQL表那样的结构化数据(比如纯文本、JSON对象、二进制对象),通常是直接写一个小的Python脚本来按行处理你的数据。把数据存储于文件,处理每一个文件,等等。如果换成是Hadoop就很麻烦。  相比于SQL或Python脚本,Hadoop要慢的多。正确的使用索引后,SQL查询总是非快——PostgreSQL简单的查找索引,检索确 切的键值。而Hadoop是全表扫描的,它会把整个表进行重新排序。通过把数据表分片到多台计算机上后,重排序是很快的。另一方面,处理二进制对 象,Hadoop需要重复往返于命名节点,目的是查找和处理数据。这适合用Python脚本来实现。  五、我的数据超过了5TB  你应该考虑使用Hadoop,而无需做过多的选择。  使用Hadoop唯一的好处是可伸缩性非常好。如果你有一个包含了数TB数据的表,Hadoop有一个适合全表扫描的选项。如果你没有这样大数据量的表,那么你应该像躲避瘟疫那样避免使用Hadoop。这样使用传统的方法来解决问题会更轻松。  六、Hadoop是一个极好的工具  我并不讨厌Hadoop,当我用其它工具不能很好处理数据时我会选择Hadoop。另外,我推荐使用Scalding,不要使用Hive或Pig。Scalding支持使用Scala语言来编写Hadoop任务链,隐藏了其下的MapReduce。

postgresql 判断字段是否为空 空给默认值 否则取该字段是什么函数来着?

这个不太清楚

postgreSQL 怎么把时间字段设置成空

你的意思是,在插入数据时,时间这一列可以不差入值吗?如果是这样,那在建表时,这个字段就要设置成允许为空,再在写插入语句时,要把字段和值对应起来,如:表table1有列col1、col2、col3,col3是时间列,那语句是insert into table1 (col1, col2) values ("a", "b");

如何查看postgresql数据库端口号

linux 下 通过netstat -a 来查看windows下通过查看MySQL安装目录下my.ini文件或者 进入mysql dos格式mysql> show variables like "port";++-+Variable_name Value++-+port 3306 ++-+1 row in set (0.00 sec)

如何从SQLServer 迁移数据 到PostgreSQL

一. 如果B数据库是新建的,为了移植数据库,那就直接附加,分下列步骤:1. 打开配置管理器2. 停止SQL Server服务3. 在C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData目录下找到数据库文件,复制到B电脑上,B电脑打开数据库附加A数据库就好了。二. 如果B数据库已经曾在,可以使用导出任务打开数据库,右键点在数据库上,找到导出任务按照向导选择该到处的数据表和视图。填写两个数据库的验证信息

在java中用什么类型接收postgresql中的bigserial生成的值

本来是object你给转换一下

postgresql的数据库怎么迁移到mysql-CSDN论坛

MySQL数据库迁移到PostgreSQL查了不少资料,也尝试了一些,最后采用的办法如下: 1. 导出mysql表定义(无数据)mysqldump --no-data [dbname] >dbdef.sql2. 使用mysql2postgres把脚本转换为pgsql3. 上面生成的脚本还不一定很完美,可以尝试导入pgsql,调试错误并手动修改之。我遇到的问题就只有一个,mysql列定义中的zerofill需要手工去掉。一些unsinged定义会生成constraint,如果不需要可以去掉。另外,trigger都有问题,只能后面手工重建4. 导出mysql数据:mysqldump -v -nt --complete-insert=TRUE --compact --no-create-info --skip-quote-names [dbname] >dbdata.sql老一些版本的pgsql如果不支持批量插入的话还需要加上--extended-insert=FALSE,这个性能损失巨大。5. 转义符mysql默认字符串里的""是转义符,而pgsql默认不是,修改postgresql.conf:backslash_quote = onescape_string_warning = offstandard_conforming_strings = off数据导入完成后可以改回默认值。5. pgsql里导入表定义和数据psql -d [dbname] <dbdef.sqlpsql -d [dbname] <dbdata.sql6. 重建trigger7. 自增主键(字段)的处理由于导入数据时此字段都是有值的,所以pgsql里面seq并不会增加,可以用如下语句设置自增列的当前值:SELECT setval("sample_id_seq",max(id)) from sample;

如何在windows下手动初始化PostgreSQL数据库

1、创建用户postgres,密码同样是postgres:net user postgres postgres /add2、在数据库根目录下建立data目录:C:Program FilesPostgreSQL9.3>md data3、去掉administrator对data目录的权限:C:Program FilesPostgreSQL9.3>cacls data /e /t /r administrator处理的目录: C:Program FilesPostgreSQL9.3data4、将data目录的权限赋给postgres用户:C:Program FilesPostgreSQL9.3>cacls data /e /t /g postgres:C处理的目录: C:Program FilesPostgreSQL9.3data5、用postgres用户打开cmdC:Program FilesPostgreSQL9.3>runas /user:postgres cmd.exe输入 postgres 的密码:试图将 cmd.exe 作为用户 "SURE-PCpostgres" 启动...6、进行初始化,初始化用户为postgres,字符集为utf8,locale为C:C:Program FilesPostgreSQL9.3in>initdb.exe -D ../data -E utf8 --locale C -U postgresThe files belonging to this database system will be owned by user "postgres".This user must also own the server process.The database cluster will be initialized with locale "C".The default text search configuration will be set to "english".Data page checksums are disabled.fixing permissions on existing directory ../data ... okcreating subdirectories ... okselecting default max_connections ... 100selecting default shared_buffers ... 128MBcreating configuration files ... okcreating template1 database in ../data/base/1 ... okinitializing pg_authid ... okinitializing dependencies ... okcreating system views ... okloading system objects" descriptions ... okcreating collations ... not supported on this platformcreating conversions ... okcreating dictionaries ... oksetting privileges on built-in objects ... okcreating information schema ... okloading PL/pgSQL server-side language ... okvacuuming database template1 ... okcopying template1 to template0 ... okcopying template1 to postgres ... oksyncing data to disk ... okWARNING: enabling "trust" authentication for local connectionsYou can change this by editing pg_hba.conf or using the option -A, or--auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using: "postgres" -D "../data"or "pg_ctl" -D "../data" -l logfile startC:Program FilesPostgreSQL9.3in>7、启动数据库,进入客户端:C:Program FilesPostgreSQL9.3in>"pg_ctl" -D "../data" startserver startingC:Program FilesPostgreSQL9.3in>LOG: database system was shut down at 2014-09-18 10:19:54 HKTLOG: autovacuum launcher startedC:Program FilesPostgreSQL9.3in>LOG: database system is ready to accept connectionsC:Program FilesPostgreSQL9.3in>psql.exepsql (9.3.5)Type "help" for help.postgres=#

postgresql启动失败

1、看看服务里的 Postgres 服务的用户名、密码,必须用 postres 用户启动的。2、鉴于重启后就启动不了,是不是服务设置手动,或者是安装了影子系统3、会不会是安装的时候,上一次的安装没有卸载干净?4、手动启动服务试试看,看看系统日志有没有相应内容分。5、到 c:program files下的安装目录(假设是windows)看看log 文件夹里的日志6、进入cmd, netstat -na ,看看开了多少端口,很多病毒会强占许多端口,包括5432端口,如果5432被占用,肯定不行。netstat -navbo 会查看是哪个进程7、安装的时候,locale 是不是选择了默认一路Next, 卸载,用locale = "C"试试看!

postgresqL 的Btree 与gin索引

一.gin索引需要安装第三方插件 yum install postgresql96-contrib -- 安装插件 find / -name extension --可以看到btree_gin.control存在 create extension btree_gin; -- 添加索引 二.测试数据基本属性介绍 总共使用3个表,表结构和数据量完全一致。 表数据量:10522369 表字段:id ,basic_acc_no,id_card,name,sex,telephone,json_t 1)索引的配置情况: basic_account_info_al -- btree basic_account_info_al2 --gin basic_account_info_al3 -- btree multi basic_account_info_al 单列索引 id,basic_acc_no,name,json_t basic_account_info_al2 gin索引 (id,basic_acc_no,id_card,name),(json_t) basic_account_info_al3 复合索引 (id,basic_acc_no),(name,id)(json_t,id) basic_account_info_al 表达式索引 (json_t->>id) basic_account_info_al2表达式索引 ((json_t->>"id")) 三.测试结果 1.唯一值属性:索引字段都是唯一 id,basic_acc_no 查询语句 explain analyse select * from basic_account_info_al2 where id = 29699221 ; explain analyse select * from basic_account_info_al where id = 29699221 ; explain analyse select * from basic_account_info_al3 where id = 29699221 ; explain analyse select * from basic_account_info_al2 where basic_acc_no = "XFK2990134" ; explain analyse select * from basic_account_info_al where basic_acc_no = "XFK2990134" ; explain analyse select * from basic_account_info_al3 where basic_acc_no = "XFK2990134" ; explain analyse select * from basic_account_info_al2 where basic_acc_no = "XFK9780134" and id = 29699221; explain analyse select * from basic_account_info_al where basic_acc_no = "XFK9780134" and id = 29699221; explain analyse select * from basic_account_info_al3 where basic_acc_no = "XFK9780134" and id = 29699221; explain analyse select * from basic_account_info_al2 where id = 29699221 and basic_acc_no = "XFK9780134" ; explain analyse select * from basic_account_info_al where id = 29699221 and basic_acc_no = "XFK9780134" ; explain analyse select * from basic_account_info_al3 where id = 29699221 and basic_acc_no = "XFK9780134" ; 2.重复值属性: name是有重复值的。 explain analyse select * from basic_account_info_al where name ="张燕洪"; explain analyse select * from basic_account_info_al3 where name ="张燕洪"; explain analyse select *from basic_account_info_al2 where name ="张燕洪"; explain analyse select * from basic_account_info_al2 where id = 24426014 and name = "周杨" ; explain analyse select * from basic_account_info_al where id = 24426014 and name = "周杨" ; explain analyse select * from basic_account_info_al3 where id = 24426014 and name = "周杨" ; explain analyse select * from basic_account_info_al2 where name = "周杨" and id = 24426014 ; explain analyse select * from basic_account_info_al where name = "周杨" and id = 24426014 ; explain analyse select * from basic_account_info_al3 where name = "周杨" and id = 24426014 ; 3.jsonb属性 create index inx_gin_json on basic_account_info_al2 using gin (json_t); create index inx_btree_json on basic_account_info_al (json_t); create index inx_btree_2_js on basic_account_info_al3 (json_t,id ); explain analyse select * from basic_account_info_al where json_t ="{"id": 21782879, "sex": 0, "name": "刘乐典"}"; explain analyse select * from basic_account_info_al2 where json_t ="{"id": 21782879, "sex": 0, "name": "刘乐典"}"; explain analyse select * from basic_account_info_al3 where json_t ="{"id": 21782879, "sex": 0, "name": "刘乐典"}"; explain analyse select * from basic_account_info_al WHERE json_t @> "{"id": 21782879}"; explain analyse select * from basic_account_info_al2 WHERE json_t @> "{"id": 21782879}"; explain analyse select * from basic_account_info_al3 WHERE json_t @> "{"id": 21782879}"; explain analyse select * from basic_account_info_al where (json_t->>id)= "24426014" ; explain analyse select * from basic_account_info_al2 where (json_t->>id)= "24426014" ; explain analyse select * from basic_account_info_al3 where (json_t->>id)="24426014" ; 4.jsonb表达式索引 查询条件 表名 查询时使用的索引名称 查询时间(5次平均)/ms (json_t->>id)= "24426014" basic_account_info_al inx_json_id 0.040 basic_account_info_al3 inx_json_id_2 0.039 explain analyse select * from basic_account_info_al where (json_t->>id)= "24426014" ; explain analyse select * from basic_account_info_al2 where (json_t->>id)= "24426014" ; 四.获相同的结果使用Jsonb与btree对比 jsonb支持两种特有的GIN索引jsonb_ops和jsonb_path_ops。 jsonb_ops调用gin_extract_jsonb函数生成key,每个键和值都作为一个单独的索引项。而jsonb_path_ops使用函数gin_extract_jsonb_path抽取:只为每个值创建一个索引项。{“foo”:{“bar”,”baz”}}, jsonb_ops生成3个索引项,jsonb_path_ops由foo,bar,baz组合一个hash值作为一个索引项。jsonb_path_ops索引要比jsonb_ops的小很多,性能上也会有所提升。 create index inx_gin_patn_json ON public.basic_account_info_al4 USING gin (json_t jsonb_path_ops); -- jsonb_path_ops create index inx_gin_json on basic_account_info_al2 using gin (json_t); --jsonb_ops 1.精确查询 2.范围查询 下表显示了gin索引对于jsonb数据类型可使用的操作符。 名称 索引数据类型 可索引操作符 jsonb_ops jsonb ? ?& ?| @> json_path_ops jsonb @> 注:? ?& ?| 索引key是否包含在jsonb中 对于范围(json_t->>"id")< 20000079,这样的条件 gin索引不起作用, 这里采用表达式索引方式,查询条件的两边数据类型相同才可以做索引查询,否则全表扫描。 CREATE INDEX inx_json_id_2 ON public.basic_account_info_al2 USING btree (((json_t->>"id")::int)); 总结: 当仅有一个条件查询时,gin索引与btree索引的性能差异不大,但有多个条件查询时,gin,btree单 列索引没有btree复合索引的性能高。jsonb是以二进制格式存储且不保证键的顺序。可以使用表达式索引指定到jsonb的具体键值,但是如果不能提前知道查询数据中的哪个键,确定定义GIN索引和使用@>(或者其他有利于索引的操作符)查询。 五.jsonb添加数据属性 例如: {"id":20000241,"name":"陈敏","sex":1} -> {"age":"18","id":20000241,"name":"陈敏","sex":1} 一旦创建了索引,就不需要进一步的干预:当表被修改时,系统将更新索引,当执行计划认为使用索引比顺序的表扫描更有效的时候,它会使用索引。 UPDATE basic_account_info_al4 SET json_t = json_t || "{"age":"18"}"::jsonb; -- 更新语句 gin索引名称 索引方式 修改前大小 修改后大小 带索引更新时间 inx_gin_patn_json jsonb_path_ops 574M 615M 643561.004 ms inx_gin_json jsonb_ops 665M 695M 时间过长超过1h jsonb_ops方式建立的索引大量更新时,执行时间太长。当插入更新时gin索引比较慢,如果要向一张大表中插入大量数据时,最好先把gin索引删除,插入数据后再重建索引。 当json_t为{"id":20000241,"name":"陈敏","sex":1} 数据量为10522369 创建gin索引时间 130372.955 ms 当json_t为{"age":"18","id":20000241,"name":"陈敏","sex":1} 数据量为10522369 创建gin索引时间 148971.011 ms

postgresql如何备份数据库

postgresql中可以使用pg_dump来备份数据库。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。用法:pg_dump [选项]... [数据库名字]一般选项: -f, --file=FILENAME output file or directory name -F, --format=c|d|t|p output 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 弹出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教程》。

postgresql字段值唯一约束

postgresql 允许设置多个字段为值唯一的约束。 使用 pgAdmin 4 设置起来很方便。而且在 postgresql 6.5.1 是默认安装就具备的工具。 首先找到你要设置约束的表 鼠标右键选择属性 选择强制>约束 点击 + 号 新增一个约束 输入内容,选择要设置的字段 最后点击 保存按钮 字段值唯一约束就建立成功了。 之后你就会发现,除非是空值,否则你设置的字段内是不会有重复值的。

c/c++连接postgresql

可以使用PostgreSQL的C库:libpgPostgreSQL安装包附带或者安装PostgreSQL的ODBC驱动,通过ODBC标准函数连接PostgreSQL如果使用C++/CLI,也可以使用ADO.NET等

ubuntu下安装 postgresql 的命令

sudo apt-get install postgresql

postgresql怎么查看数据库参数设置

通过参数文件查看,一般是在$PGDATA/postgresql.conf文件里或者在系统中查看,如postgres=# show shared_buffers;shared_buffers ----------------4GB(1 row)--查看所有参数postgres=# show all;

如何配置来完成PostgreSQL数据库远程连接

  安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相 应的配置。配置远程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf, 其中pg_hba.conf是用来配置对数据库的访问权限,postgresql.conf文件用来配置PostgreSQL数据库服务器的相应的参数。 下面介绍配置的步骤:  1.修改pg_hba.conf文件,配置用户的访问权限:  # TYPE DATABASE USER CIDR-ADDRESS METHOD  # "local" is for Unix domain socket connections only  local all all trust  # IPv4 local connections:  host all all 127.0.0.1/32 trust  host all all 192.168.1.0/24 md5  # IPv6 local connections:  host all all ::1/128 trust  其中红色标识的内容为新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验 证。在我们的环境中,我们需要在主机192.168.1.5上使用postgres用户访问192.168.1.9上的PostgreSQL数据库。  2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。  定位到#listen_addresses="localhost"。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求,通过将改行内容修改为listen_addresses="*"来允许数据库服务器监听来自任何主机的连接请求:  listen_addresses = "*" # what IP address(es) to listen on;  # comma-separated list of addresses;  # defaults to "localhost", "*" = all  # (change requires restart)  修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问PostgreSQL数据库了。  另外,数据库管理小贴士:  matrix数据库使用的是PostgreSQL数据库。你可以安装一个类似phpmyadmin的管理

如何使用 PostgreSQL 数据库去 O

如何使用 PostgreSQL 数据库去 O1、安装postgresqlyum install postgresql postgresql-servermysql占用端口3306 pgsql是54322、导入整个数据库psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql3、导出整个数据库pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) >/data/dum.sql4、导出某个表pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql5、压缩方法一般用dump导出数据会比较大,推荐使用xz压缩压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件6、xz压缩数据倒数数据库方法xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

如何卸载postgreSQL

这里针对的是 9.3 版本。如是其他版下面的仅供参考。 1、如果是postgresql.app的形式,这个简单,跟其他app一样,删除app即可。 2、如果是使用installer图形界面方式安装的。则需要打开终端命令行。 3、执行 open /Library/PostgreSQL/9.2/unins...

PostgreSQL 动态SQL语句怎么写

哈哈,终于找到一个使用一样数据库的了

postgreSQL数据库里导入导出的sql语句是什么?

Postgresql数据的导入和导出,以及copy命令介绍如何导出PostgreSQL数据库中的数据:pg_dump -U postgres -f dump.sql mydatabase具体某个表pg_dump -U postgres -t mytable -f dump.sql mydatabase导入数据时首先创建数据库再用psql导入:createdb newdatabasepsql -d newdatabase -U postgres -f dump.sql把数据按照自己所想的方式导出,强大的copy命令:echo "copy students to? stdout DELIMITER "|""|psql school|head(students为表名,school为库名,各个字段以|分隔)echo "copy (select * from students order by age limit 10) to stdout;" | psql school

postgresql,判断字段是否为空,空给默认值,否则取该字段是什么函数?

select COALESCE(D.wk_ptn_cd, "00") as wk_ptn_cd简介:PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。架构:PostgreSQL强壮的一个原因源于它的架构。和商业数据库一样,PostgreSQL可以用于C/S(客户/服务器)环境。这对于用户和开发人员有很多好处。PostgreSQL安装核心是数据库服务端进程。它允许在一个独立服务器上。需要访问存储在数据库中的数据的应用程序必须通过数据库进程。这些客户端程序无法直接访问数据,即使它们和服务程序在同一台机器上。

postgreSQL sql语句中的~~符号是什么意思

能把语句打出来看一下吗?我记得语法中根本就没有这个符号的意义

讨论PostgreSQL 和其他数据库的差异在哪里

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。

为什么MySQL用户那么多,而同样优秀的PostgreSQL却很少人用

MySQL之所以仍然如此流行是因为每个Linux Web托管软件包中都包含它。但随着Oracle将其收购,MySQL的开源程度大不如前。而PostgreSQL不仅发展更快,还加入了JSON支持,成为少数几个支持NoSQL的关系型数据库之一。MySQL/MariaDB的当前版本是5.7.6(MariaDB为MySQL创建者Monty Widenius创建的一个MySQL分支),PostgreSQL的版本是9.4.1。PostgreSQL最近增加了JSON支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面PostgreSQL胜过MySQL。PostgreSQL采用类似MIT的许可协议,允许开发人员做任何事情,包括在开源或闭源产品中商用,而MySQL的客户端遵循GPL许可协议,所以开发人员必须向Oracle付费或者将自己的应用程序开源。MySQL提供了插件程序API,支持C/C++或任何兼容C的语言,而且从5.7.3版本开始支持全文搜索,PostgreSQL有一个类似的系统但支持的语言更多,包括C/C++、Java、.Net、Perl、 Python、Ruby、Tcl、ODBC等,它甚至可以在单独的进程中运行用户提供的代码;除了所有关系型数据库都包含的有关数据库、表和列的一般信息外,PostgreSQL系统目录中还可以包含关于数据类型、函数和存取方法的信息,开发人员可以通过修改这些信息实现扩展。

对比其他数据库软件,postgresql有什么优势

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。

postgresql的语法与mysql有什么区别

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。六、PG有极其强悍的 SQL 编程能力(9.x 图灵完备,支持递归!),有非常丰富的统计函数和统计语法支持,比如分析函数(ORACLE的叫法,PG里叫window函数),还可以用多种语言来写存储过程,对于R的支持也很好。这一点上MYSQL就差的很远,很多分析功能都不支持,腾讯内部数据存储主要是MYSQL,但是数据分析主要是HADOOP+PGSQL(听李元佳说过,但是没有验证过)。七、PG 的有多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。八、一般关系型数据库的字符串有限定长度8k左右,无限长 TEXT 类型的功能受限,只能作为外部大数据访问。而 PG 的 TEXT 类型可以直接访问,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。用PG的话,文档数据库都可以省了。九,对于WEB应用来说,复制的特性很重要,mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。还有mysql的同步是基于binlog复制,类似oracle golden gate,是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。同时,pgsql还提供stream复制。十,pgsql对于numa架构的支持比mysql强一些,比MYSQL对于读的性能更好一些,pgsql提交可以完全异步,而mysql的内存表不够实用(因为表锁的原因)最后说一下我感觉 PG 不如 MySQL 的地方。第一,MySQL有一些实用的运维支持,如 slow-query.log ,这个pg肯定可以定制出来,但是如果可以配置使用就更好了。第二是mysql的innodb引擎,可以充分优化利用系统所有内存,超大内存下PG对内存使用的不那么充分,第三点,MySQL的复制可以用多级从库,但是在9.2之前,PGSQL不能用从库带从库。第四点,从测试结果上看,mysql 5.5的性能提升很大,单机性能强于pgsql,5.6应该会强更多.第五点,对于web应用来说,mysql 5.6 的内置MC API功能很好用,PGSQL差一些。另外一些:pgsql和mysql都是背后有商业公司,而且都不是一个公司。大部分开发者,都是拿工资的。说mysql的执行速度比pgsql快很多是不对的,速度接近,而且很多时候取决于你的配置。对于存储过程,函数,视图之类的功能,现在两个数据库都可以支持了。另外多线程架构和多进程架构之间没有绝对的好坏,oracle在unix上是多进程架构,在windows上是多线程架构。很多pg应用也是24/7的应用,比如skype. 最近几个版本VACUUM基本不影响PGSQL 运行,8.0之后的PGSQL不需要cygwin就可以在windows上运行。至于说对于事务的支持,mysql和pgsql都没有问题。

greenplum和postgresql之间是什么关系

greenplum底层技术就是postgresql,sql语法和其他一些操作都符合postgresql;

postgresql 和postgis区别是什么?

PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统。它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户。PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS最大的特点是符合并且实现了OpenGIS的一些规范,是最著名的开源GIS数据库。可以说PostGIS是对象-关系型数据库系统PostgreSQL的一个扩展,具有管理空间数据库的能力。如果不明白可以继续提问。望采纳

postgresql 和postgis区别是什么?

postgresql是DBMS,是用来存储并管理数据的。而Postgis是DBMS的扩展插件,是让postgresql这个DBMS具有了地理信息系统特有的数据模式与存储过程函数,希望对你有帮助!

无任何数据库基础,PostgreSQL数据库难学吗?

其实重要的是你的信心和毅力!教程和资料到网上搜索一下很多的,祝你好运!

为什么我从MongoDB迁移到PostgreSQL

我的第一个以 MongoDB 作为主数据库开发的网站是 codecampo.com(2011 年),第二个是 writings.io(2013 年)。Campo 在第 3 版的时候重写(2014 年)迁移到 PostgreSQL,而 writings.io 已经关闭了,现在正在做的创业项目 selfstore.io 也是使用 PostgreSQ 我的第一个以 MongoDB 作为主数据库开发的网站是 codecampo.com(2011 年),第二个是 writings.io(2013 年)。Campo 在第 3 版的时候重写(2014 年)迁移到 PostgreSQL,而 writings.io 已经关闭了,现在正在做的创业项目 selfstore.io 也是使用 PostgreSQL。PostgreSQL 已经成为我的默认数据库,鉴于我曾经做过一段时间 MongoDB 布道者,所以我想有必要总结一下。我开发维护的都是流量很小的网站,所以不用期待我分享千万级数据管理的经验(我以前正式工作中倒是接触一个千万级使用 MySQL 的网站,但优化工作不是我做的)。我也不会犯一些低级错误,例如项目开发到一半才困惑“MongoDB 没有 JOIN 查询怎么办?”,选型时已经知道将要面临怎样思维转换。我不希望这篇文章被当作是“XX 已死,YY 永生”一类的噱头文章,这类文章大多带有偏见,并且对评论对象浅尝辄止。不同的工具有不同的应用场合,不能一概而论。我从 MySQL 转向 MongoDB,以及从 MongoDB 转向 PostgreSQL 的最大原因都是:有趣。Web 开发一个优点就是你不用限定在某个平台某类技术上,最终用户看到的都是 HTML 页面。下面是一些我选择数据库的经验。MongoDB 优点无模式无模式是个双面刃。好的方面,它可以减少表的空余字段,减少拆表的必要,例如用户集合可以一条记录带有 admin: true 属性,其他不带有这个属性,而在关系数据库中这类带来大量空余字段的属性最好拆表。PostgreSQL 打开 HStore 扩展后也可以实现这样的结构。如果觉得 admin: true 的例子太简单,可以考虑下怎么储存 gemspec 的内容并让它可索引。无模式另一个好处是让代码逻辑管理起来更清晰,可以把属性定义和模型逻辑放在一起:class Artist include Mongoid::Document field :name, type: Stringend类似 DataMapper 的库虽然也能实现这样的语法,但始终需要维护一个迁移脚本,需要重复自己。用 Mongoid 的时候我一直觉得打开 Model 文件先看到属性定义很舒服。无模式的最大坏处就是无法真正掌握数据库中有什么内容,实际上并不是经常需要储存无模式数据,多数是模式化数据。所以即使不需要管理模式迁移,还是要管理数据迁移,每次更改属性相关逻辑时要写数据迁移脚本。这里无模式是好是坏取决于应用场景。数据类型MongoDB 支持的数据类型多于 MySQL,其中最主要是 Array,Hash 类型。PostgreSQL 原生或通过扩展可以支持 Array 和 Hash,但是配套的操作不够 MongoDB 简便。例如 MongoDB 对 Array 有一个 $addToSet 方法,只有数组不存在某元素时进行插入:update( $addToSet: { upvotes_ids: 1 } )而 PostgreSQL 要进行同样操作需要组合一些语句:SET upvotes_ids = array_append(upvotes_ids ,1) WHERE NOT (upvotes_ids @>array[1])MongoDB 的语句更简洁,也不排除 PostgreSQL 以后也会添加同样的方法。MongoDB 缺点不支持事务也许需不需要数据库事务成了是否选择 MongoDB 的决定性因素,MongoDB 不支持数据库事务。有很多应用对数据一致性其实要求不高,例如很多社交应用,大多数应用逻辑只是简单存取(发一段文字,上传一张照片),极少的不一致是不影响应用的。而一些严肃应用,例如交易系统,就很需要数据库事务的支持了,否则就需要在应用层自己实现一个粗糙的、充满 Bug 的事务支持。如果有兴趣自己实现事务操作,可以看 MongoDB 的文章 Perform Two Phase Commits。如果有跨系统的事务操作,就不能完全依赖数据库事务,还要有应用层的重试或回滚操作(例如远程调用支付接口)。数据库层面支持事务的话,起码让维护系统内部数据一致性更轻松。查询语法MongoDB 的原生查询语法是 JavaScript,JavaScript 程序员可能对此欣喜若狂。我最初感觉也是很新鲜,但久了就觉得很烦躁。JavaScript 太多的括号和花括号,在组合多个查询条件的时候作括号匹配很费神。SQL 是一个查询 DSL,虽然看起来有点古老,但是在查询这个特定领域上做得很好。如果应用使用 ORM,可能很多时候不需要写原生查询语句。除了 PHP 社区外,其他社区也不推荐写原生查询。不过少数情况下,复杂查询还是原生语句更高效,而且数据库终端也是调试查询错误的最终手段,所以查询语法至少不能让人难受。默认不安全MongoDB 的开发者假设你是一个资深系统管理员,并且把 MongoDB 部署在安全的内部网络当中,所以他们官方安装包内含的配置没有设置任何安全验证,接收任何来源的访问,结果就是一些初级系统管理员(例如我)把 MongoDB 直接暴露到了公网,造成数据泄漏。这不仅是 MongoDB 的问题,Redis、Elasticsearch 也是这样,姑且把这认为是一种设计“哲学”。Ubuntu 的软件源管理者不认同这个“哲学”,从软件源安装的 MongoDB 的默认只接受本地连接,这保护了一些初级系统管理员,但如果追新使用数据库开发方的安装包就会中招。顺便一提,PostgreSQL 默认配置只接受本地连接。无论用什么数据库都好,使用前一定要完整读一遍文档,特别是设置和安全相关的章节,同时设置系统防火墙。库MongoDB 的官方驱动更新没有问题,不过一般不会直接使用驱动写程序(写过,很繁琐),而是使用 ODM(对象-文档映射)工具,在 Ruby 中就是 Mongoid。Mongoid 已经做得很好,提供了类似 ActiveRecord 的 API,并且很好的利用了 MongoDB 的特性,但在关注度和社区规模上还不及 ActiveRecord。ActiveRecord 作为 Rails 的默认组件,每次都是跟随 Rails 的更新同时更新的,Mongoid 则要滞后一段时间。所以如果你希望紧跟 Rails 的更新,那么最好使用 ActiveRecord 和关系数据库。为什么是 PostgreSQL 而不是 MySQL/MariaDB今年开始,我的精力投入到一个交易网站的开发,所以一开始就打算迁移到关系数据库。至于为什么用 PostgreSQL 而不是 MySQL/MariaDB,有几个理由:有趣,我还没用过 PostgreSQL。PostgreSQL 的数据类型更多,我主要需要 Array 和 HStore。这些数据类型可以减少开发量,在 MySQL 实现 Tag 属性需要多两张表。过去的工作中让我接触到 MySQL 不好的一面,例如因为 JOIN 性能不好(我没验证过),不允许用 includes 方法,基本上只做主键查询,所以我之前那么容易接受 MongoDB。MySQL 被 Oracle 收购后社区出现分裂(MariaDB),我对 Oracle 印象也不好,前公司旗下一个网站因为域名带有 Java 而收到律师函,所以我尽可能避开 Oracle 的产品。PostgreSQL 的社区热度在增加,ActiveRecord 对其特性的支持也在完善。基于以上理由,我选择了 PostgreSQL,目前为止工作得很好。总结这几年间我接触了 3 个数据库(不包括 Redis 的话),SQL-NoSQL-SQL 的切换让我对数据库有了更深刻的理解,也认识到还有很多类型数据库我没试过,关系数据库不是唯一选择。我的几个项目都是只是玩具规模,没什么说服力,但以免被误解,还是提几条建议:如果当前数据库用得很好,就没必要更换。如果没有明确的数据库需求,那么用关系数据库。如果要开发新的项目,推荐 PostgreSQL。最终,选择要取决于你的应用场景。 原文地址:为什么我从 MongoDB 迁移到 PostgreSQL, 感谢原作者分享。

postgresql安装的PASSWORD是什么啊?

下载时有说明的

为什么PostgreSQL比MongoDB还快

1)数据加载 从服务端资源消耗的角度看,是MongoDB的性能是PostgreSQL的2倍。但是如果数据加载不能很好的并发展开,让mongoimport成为了瓶颈,那应该算打平。 另外,EnterpriseDB的数据加载的测试结果和我的结果差异比较大,可能是因为EnterpriseDB的测试中,数据量超过了系统内存量,IO对测试结果的影响开始显现。2)数据插入 从服务端资源消耗的角度看,两者其实相差不大。EnterpriseDB的测试结果被mongo客户端的性能瓶颈绑架了。3)数据查询 对无匹配数据(或少量匹配数据)的索引查询,PostgreSQL的性能是MongoDB的4倍(这一点也有点令人不解,同样是走索引的单点查询,为什么差距就这么大呢?)。 虽然EnterpriseDB的测试结果也表明PostgreSQL的性能是MongoDB 4倍左右,但EnterpriseDB的测试方法是有问题的。4)数据大小 MongoDB的数据大小大约是PostgreSQL的3倍,这和EnterpriseDB的测试结果是一致的。PostgreSQL在NoSQL方面的表现确实抢眼。PostgreSQL不仅是SQL+NoSQL+ACID的完美组合,性能还比MongoDB技高一筹(分布式集群上MongoDB更有优势)。

怎么在shell里操作postgresql数据库呢?或者实现方法是什么呢?

在root用户下,su -l postgres -s /bin/bash -c "psql -h xxxx -U dbuser -p port -d dbname -c "UPDATE config SET value ="500" where id=312;""

Oracle存储过程改写为PostgreSql的存储过程

PostgreSQL中只有function (没有create procedure的语句,都用create function来做)。具体的区别来说,首先就是语法稍有不同: Oracle为P/L SQL的语法,PostgreSQL为PLPGSQL;然后是一些类型处理的不同。可以把Oracle的存储过程贴出来看看。

关于请问安装MySQL和PostgreSQL对硬件的最低要求是什么

PostgreSQL是一个数据库,120G代表postgreSQL保存的数据占的空间有120G,如果没用到可以直接删除,对系统没影响。

PostgreSQL 数据库 有没有实例名? 如果有实例名是什么,知道的奉献下。不要乱答谢谢

你自己安装一个PostgreSQL 不就得了,连接路径:IP:端口:初始库名这是我用Navicat可视化工具的连接信息截图

为什么 PostgreSQL 没有 MySQL 流行

跟mysql的历史有关系,mysql在2008年卖给了sun公司,并一直可以免费的供大家伙使用。但是10年sun被oracle收购,oracle是一个以出售数据库起家的公司,收购sun后,虽然一直支持mysql的免费策略。但是保不齐那天就不免费了。PostgreSQL数据库没有太多版本的选择,并且这个数据库的最优势产品时对事务的支持。可能市面上的大多数软件对事务的要求没那么强烈。导致mysql使用人员更多。PostgreSQL数据库是mysql被oralce收购后逐渐流行起来的开源数据库。虽然他的历史比mysql更悠久。但是现在大多数公司使用开源项目的做的软件产品。培养了大量的使用mysql熟悉的程序员。也就导致了现在还是会有大量的mysql使用者。公司在做产品时肯定会考虑到自己公司对数据库产品的熟悉程度来决定使用什么样的数据库。但是现在PostgreSQL已经开始慢慢的要苏醒了。

postgreSql数据库的sql脚本中,为什么用connect XXX;开头,意义是什么?

connect 后面依次跟 数据库名 角色名 主机地址 端口号 用于在postgresql服务客户端连接另一个唯一确定的postgresql数据库,其中数据库名为必填

PostgreSQL 中 %TYPE是什么意思,如何使用

与Oracle中类似,%TYPE是用来获取一个已定义变量的类型的。这样可以方便的定义出于已有变量或字段同类型的变量。例如:do language plpgsql $$declare v1 character varying(100); -- 定义变量v1类型为变长字串declare v2 v1%type; -- 定义变量v2与v1同类型,即变长字串beginv2 := "Hello World!"; -- 给v2变量赋值raise notice "%", v2; -- 显示出v2的内容end $$;

postgresql的开发语言是什么

楼上正解!+1

对比其他数据库软件,postgresql有什么优势

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。

为什么选择PostgreSQL而不是MySQL

具体看你的需求啊

PostgreSQL最大的优势是什么?

PostgreSQL最大的优势主要是两个方面:1)PostgreSQL的开源开放性:因为我们是开源的,变拥有了动态的社区、增长非常快的社区,新功能总是不断出现。不仅可靠性很高,性能也很高。2)PostgreSQL的可扩展性:在1986年的时候,它便已经被设计为可扩展的。可以向数据库添加语言 可以添加数据类型 可以添加索引方法、操作符 、类型转换、聚合;支持GIS、Json、全文搜索、范围类型、XML。Postgres的独特之处在于它同时执行关系和非关系操作。现在我们从很多不同的地方获取数据,关系系统必须具有灵活性,必须能够处理复杂的数据,而Postgres是唯一真正能够做到这一点的数据库。

请问一下PostgreSQL什么意思 请详述 谢谢

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。数据来源于百度百科,你可以在百度百科里面看想尽资料

PostgreSQL 就是progress吗

PostgreSQL为一个开源的数据库管理系统。它的运行程序中有postgres.exe。但是你这里多了个s,如果是多打了个s那么就是指PostgreSQL;如果不是,那么就不是PosgreSQL了。

postgreSQL数据库有什么用啊?

优点  事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。   从技术角度来讲,PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C++,ESQL 等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。 缺点  从 Postgres 开始,PostgreSQL 就经受了多次变化。   首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方便方面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,目前,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。   其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。

电脑里有个安装程序PostgreSQL,这是什么东西,有用么,能卸载么?

有用,PostgreSQL的作用为1.含LBS的应用2.作为企业数据库3.数据仓库和大数据 4.作为网站数据库或app数据库

postgresql 和postgis区别是什么?

了存储、查询和修改空间关系的能力。本文中 ‘PostgreSQL" 指代基本的关系数据库功能,而 ‘PostGIS" 指代扩展的空间操作特性。客户端-服务器构架PostgreSQL 同众多数据库产品一样,采用客户端-服务器构架。客户端向服务器发出请求并得到响应。这种机制同浏览器从网络服务器获取网页类似。在 PostgreSQL 中,请求以 SQL 语言发出,而响应多为从数据库提取的表单。客户端与服务器可以部署在同一台设备上,即 PostgreSQL 可以在单一的计算机上使用。借由系统内部的 ‘loopback" 通信机制,数据库系统可以进行私密通讯。除非专门配置,外界是不能访问这些信息的。本位介绍三种客户端:命令行, Quantum GIS , pgAdmin 图形化数据库客户端。创造具有空间信息处理能力的数据库命令行客户端在终端模拟器(Terminal Emulator)中运行。在 Applications 菜单的 Accessories 中打开一个终端模拟器,将显示一个 Unix 风格的命令行界面。输入:psql -V回车确认,将显示 PostgreSQL 版本号。一个 PostgreSQL 服务器中,可以将不同的任务组织到不同的数据库。每个数据库独立运作,拥有专门的表单、显示、用户等。访问 PostgreSQL 数据库时将指定一个数据库。服务器上数据库列表通过以下命令查询:psql -l输出将罗列 Live 上配置的几个数据库。这里演示新建一个。PostgreSQL 使用 createdb 工具创建数据库。这里建立的数据库应带有 PostGIS 的扩展功能,因此需要指定相应的模板。这里将新建数据库称为 demo 。命令为:createdb-Ttemplate_postgisdemo现在执行 psql-l 应当可以看到 demo 数据库。也可以使用 SQL 语言创建 PostGIS 数据库。首先使用 dropdb 命令删除之前创建的数据库,然后使用 psql 命令开启 SQL 命令解析器:dropdbdemopsql-dpostgres这样就连接到了一个通用的系统数据库 postgres 。输入 SQL 命令建立新数据库:postgres=# CREATE DATABASE demo TEMPLATE=template_postgis;现在可以转换连接到新建的数据库。若重新连接时可以使用 psql-ddemo 命令。但在 psql 系统内部也可以使用以下命令:postgres=# c demo一个信息页面将显示当前已连接 demo 数据库。输入 dt 列出当前数据库内的表单,输出如下:demo=# dtListofrelationsSchema|Name|Type|Owner--------+------------------+-------+-------public|geometry_columns|table|userpublic|spatial_ref_sys|table|user(2rows)这两个表格是 PostGIS 默认的。其中 spatial_ref_sys 存储着合法的空间坐标系统。利用 SQL 查询查看:demo=# SELECT srid,auth_name,proj4text FROM spatial_ref_sys LIMIT 10;srid|auth_name|proj4text------+-----------+--------------------------------------3819|EPSG|+proj=longlat+ellps=bessel+towgs...3821|EPSG|+proj=longlat+ellps=aust_SA+no_d...3824|EPSG|+proj=longlat+ellps=GRS80+towgs8...3889|EPSG|+proj=longlat+ellps=GRS80+towgs8...3906|EPSG|+proj=longlat+ellps=bessel+no_de...4001|EPSG|+proj=longlat+ellps=airy+no_defs...4002|EPSG|+proj=longlat+a=6377340.189+b=63...4003|EPSG|+proj=longlat+ellps=aust_SA+no_d...4004|EPSG|+proj=longlat+ellps=bessel+no_de...4005|EPSG|+proj=longlat+a=6377492.018+b=63...(10rows)以上显示确认了该数据库已经建立空间操作功能。数据库中的 geometry_columns 用于记录那些表格是有空间信息的。手工建立空间数据表格空间数据库已经建立,现在可以建立具有空间信息的表格。首先建立一个常规的表格存储有关城市(cities)的信息。这个表格有两栏,一个是 ID 编号,一个是城市名:demo=# CREATE TABLE cities ( id int4, name varchar(50) );现在添加一个空间栏用于存储城市的位置。习惯上这个栏目叫做 the_geom 。它记录了数据为什么类型(点、线、面)、有几维(这里是二维)以及空间坐标系统。此处使用 EPSG:4326 坐标系统:demo=# SELECT AddGeometryColumn ("cities", "the_geom", 4326, "POINT", 2);完成后,查询 cities 表单应当显示这个新栏目。同时页面将显示当前表达没有记录(0 rows)。demo=# SELECT * from cities;id|name|the_geom----+------+----------(0rows)为添加记录,需要使用 SQL 命令。对于空间栏,使用 PostGIS 的 ST_GeomFromText 可以将文本转化为坐标与参考系号的记录:demo=# INSERT INTO cities (id, the_geom, name) VALUES (1,ST_GeomFromText("POINT(-0.1257 51.508)",4326),"London, England");demo=# INSERT INTO cities (id, the_geom, name) VALUES (2,ST_GeomFromText("POINT(-81.233 42.983)",4326),"London, Ontario");demo=# INSERT INTO cities (id, the_geom, name) VALUES (3,ST_GeomFromText("POINT(27.91162491 -33.01529)",4326),"East London,SA");当然,这样的输入方式难以操作。其它方式可以更快的输入数据。就目前来说,表格内已经有了一些城市数据,可以先进行查询等操作。简单查询标准的 SQL 操作都可以用于 PostGIS 表单:demo=# SELECT * FROM cities;id|name|the_geom----+-----------------+----------------------------------------------------1|London,England|0101000020E6100000BBB88D06F016C0BF1B2FDD2406C149402|London,Ontario|0101000020E6100000F4FDD478E94E54C0E7FBA9F1D27D45403|EastLondon,SA|0101000020E610000040AB064060E93B4059FAD005F58140C0(3rows)这里的坐标是无法阅读的 16 进制格式。要以 WKT 文本显示,使用 ST_AsText(the_geom) 或 ST_AsEwkt(the_geom) 函数。也可以使用 ST_X(the_geom) 和 ST_Y(the_geom) 显示一个维度的坐标:demo=# SELECT id, ST_AsText(the_geom), ST_AsEwkt(the_geom), ST_X(the_geom), ST_Y(the_geom) FROM cities;id|st_astext|st_asewkt|st_x|st_y----+------------------------------+----------------------------------------+-------------+-----------1|POINT(-0.125751.508)|SRID=4326;POINT(-0.125751.508)|-0.1257|51.5082|POINT(-81.23342.983)|SRID=4326;POINT(-81.23342.983)|-81.233|42.9833|POINT(27.91162491-33.01529)|SRID=4326;POINT(27.91162491-33.01529)|27.91162491|-33.01529(3rows)空间查询:PostGIS 为 PostgreSQL 扩展了许多空间操作功能。以上已经涉及了转换空间坐标格式的 ST_GeomFromText 。多数空间操作以 ST(spatial type)开头,在 PostGIS 文档相应章节有罗列。这里回答一个具体的问题:以米为单位并假设地球是完美椭球,上面三个城市相互的距离是多少?demo=# SELECT p1.name,p2.name,ST_Distance_Sphere(p1.the_geom,p2.the_geom) FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;name|name|st_distance_sphere-----------------+-----------------+--------------------London,Ontario|London,England|5875766.85191657EastLondon,SA|London,England|9789646.96784908EastLondon,SA|London,Ontario|13892160.9525778(3rows)输出显示了距离数据。注意 ‘WHERE" 部分防止了输出城市到自身的距离(0)或者两个城市不同排列的距离数据(London, England 到 London, Ontario 和 London, Ontario 到 London, England 的距离是一样的)。尝试取消 ‘WHERE" 并查看结果。这里采取不同的椭球参数(椭球体名、半主轴长、扁率)计算:demo=# SELECT p1.name,p2.name,ST_Distance_Spheroid(p1.the_geom,p2.the_geom,"SPHEROID["GRS_1980",6378137,298.257222]")FROMcitiesASp1,citiesASp2WHEREp1.id>p2.id;name|name|st_distance_spheroid-----------------+-----------------+----------------------London,Ontario|London,England|5892413.63776489EastLondon,SA|London,England|9756842.65711931EastLondon,SA|London,Ontario|13884149.4140698(3rows)制图以 PostGIS 数据制图需要相应的客户端支持。包括 Quantum GIS、gvSIG、uDig 在内的多种客户端均可以。以下使用 Quantum GIS:从 Desktop GIS 菜单启动 Quantum GIS 并在其 layer 菜单选择 AddPostGISlayers 。连接到 Natural Earth PostGIS 数据库的参数在 Connections 下拉菜单中有。这里可以定义和储存其它的配置。点击 Edit 可以查看具体参数。点击 Connect 连接:系统将显示所有空间信息表供选择:选择 lakes 湖泊表单并点击底部的 Add 添加。顶部的 Load 可以载入新的数据库连接配置。数据将被导入:界面上显示出湖泊的分布。QGIS 并不理解湖泊一词的含义,也许不会自动使用蓝色。请查看其手册了解如何设置。这里缩放到加拿大一处著名的湖泊群。自动创建空间数据表单OSGeo Live 的多数桌面 GIS 系统都可以将 shp 等文件导入数据库。这里依然使用 QGIS 演示。QGIS 中导入 shp 可以使用 PostGIS Manager 插件。在 Plugins 菜单选择 FetchPlugins 导入最新的官方插件列表(需要网络连接)。找到 PostGISManager 点击 Installplugin 安装。完成后,在 Plugin 菜单点击 PostGIS Manager 启动。也可以点击工具栏上大象与地球的图标。该插件将连接 Natural Earth 数据库。若提示输入密码,留空即可。在开启的界面中,选择表单可以显示相应的信息。预览(Preview)选项卡可以显示地图预览。这里选择了 populated places 图层并缩放到一个小岛:接下来使用 PostGIS Manager 将 shp 导入数据库。这里使用 R 统计扩展包含的 North Carolina sudden infant death syndrome (SIDS) 数据:在 Data 菜单选择 Loaddatafromshapefile 选项。点击 ... 选中 R maptools 中的 sids.shp 。

postgresql 和postgis区别是什么?

postgresql是DBMS,是用来存储并管理数据的。而Postgis是DBMS的扩展插件,是让postgresql这个DBMS具有了地理信息系统特有的数据模式与存储过程函数,希望对你有帮助!

postgresql是什么数据库?请详解一下,谢谢

分类: 电脑/网络 >> 程序设计 >> 其他编程语言 解析: PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目, 并且有非常广泛的用户。 PostgreSQL 可以说是最富特色的自由数据库管理系统,甚至我们也可以说是最强大的自由软件数据库管理系统。事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。

postgresql是什么数据库

PostgreSQL是一款高级的企业开源关系数据库,支持SQL、JSON查询,功能健全、可靠性高,MySQL、PostgreSQL等常用数据库国内外服务商都是提供的,用户可以专注开发自己的项目,完全不用管数据库关系操作。以上就是聚名企服的回答,希望对你有所帮助~

如何解决postgresql 错误:08p01:无效的信息格式

Appendix A. PostgreSQL错误代码PostgreSQL服务器发出的所有消息都赋予 了五个字符的错误代码,这些代码遵循 SQL 的"SQLSTATE" 代码的习惯。需要知道发生了什么错误条件的应用通常应该测试错误代码, 而不是查看文本错误信息。这些错误代码轻易不会随着PostgreSQL 的版本更新而修改,并且一般也不会随着错误信息的本地化而发生修改。 请注意有些(但不是全部)PostgreSQL生成的错误代码是 由 SQL 标准定义的;有些标准没有定义的错误条件是发明的或者是从其它数据库借来的。根据标准,错误代码的头两个字符表示错误类别, 而后三个字符表示在该类别内特定的条件。因此, 那些不能识别特定错误代码的应用仍然可以从错误类别中推断要做什么。Table A-1里面列出了PostgreSQL 8.2.3 定义的所有错误代码(有些实际上目前并没有使用, 但是 SQL 标准定义了)。错误类别也列出在此。对于每个错误类别都有个 "标准"的错误代码,它的最后三个字符是000。 这个代码只用于那些落在该类别内,但是没有赋予任何更准确的代码的错误条件。PL/pgSQL用于每个错误代码的条件名和表中显示的措辞相同, 只是用下划线代替了空白。比如,代码22012, DIVISION BY ZERO 的条件名是DIVISION_BY_ZERO。 条件名大小写无关。(请注意PL/pgSQL并不识别警告,这一点和错误、条件名正相反;那些是 00, 01, 02 类别。)Table A-1. PostgreSQL 错误代码错误代码含义常量名Class 00 — 成功完成 00000 成功完成 successful_completion Class 01 — 警告 01000 警告 warning 0100C 返回了动态结果 dynamic_result_sets_returned 01008 警告,隐含补齐了零比特位 implicit_zero_bit_padding 01003 在集合函数里消除null null_value_eliminated_in_set_function 01007 没有赋予权限 privilege_not_granted 01006 没有撤销权限 privilege_not_revoked 01004 字符串数据在右端截断 string_data_right_truncation 01P01 废弃的特性 deprecated_feature Class 02 — 没有数据(按照 SQL 标准的要求,这也是警告类) 02000 没有数据 no_data 02001 返回了没有附加动态结果集 no_additional_dynamic_result_sets_returned Class 03 — SQL语句尚未结束 03000 SQL语句尚未结束 sql_statement_not_yet_complete Class 08 — 连接异常 08000 连接异常 connection_exception 08003 连接不存在 connection_does_not_exist 08006 连接失败 connection_failure 08001 SQL 客户端不能建立 SQL 连接 sqlclient_unable_to_establish_sqlconnection 08004 SQL 服务器拒绝建立 SQL 连接 sqlserver_rejected_establishment_of_sqlconnection 08007 未知的事务解析 transaction_resolution_unknown 08P01 违反协议 protocol_violation Class 09 — Triggered Action Exception触发器动作异常 09000 触发器动作异常 triggered_action_exception Class 0A — 不支持特性 0A000 不支持此特性 feature_not_supported Class 0B — 非法事务初始化 0B000 非法事务初始化 invalid_transaction_initiation Class 0F — 定位器异常 0F000 定位器异常 locator_exception 0F001 非法的定位器声明 invalid_locator_specification Class 0L — 非法赋权者 0L000 非法赋权者 invalid_grantor 0LP01 非法赋权操作 invalid_grant_operation Class 0P — 非法角色声明 0P000 非法角色声明 invalid_role_specification Class 20 — 未发现情况 20000 未发现情况 case_not_found Class 21 — 势违例 21000 势违例 cardinality_violation Class 22 — 数据异常 22000 数据异常 data_exception 2202E 数组下标错误 array_subscript_error 22021 字符不在规定范围内 character_not_in_repertoire 22008 日期时间字段溢出 datetime_field_overflow 22012 被零除 division_by_zero 22005 赋值中出错 error_in_assignment 2200B 逃逸字符冲突 escape_character_conflict 22022 INDICATOR OVERFLOW指示器溢出 indicator_overflow 22015 内部字段溢出 interval_field_overflow 2201E 对数运算的非法参数 invalid_argument_for_logarithm 22014 NTILE函数的无效参数 invalid_argument_for_ntile_function 22016 N倍函数的无效参数 invalid_argument_for_nth_value_function 2201F 指数函数的无效参数 invalid_argument_for_power_function 2201G BUCKET函数的非法参数 invalid_argument_for_width_bucket_function 22018 类型转换时非法的字符值 invalid_character_value_for_cast 22007 非法日期时间格式 invalid_datetime_format 22019 非法的逃逸字符 invalid_escape_character 2200D 非法的逃逸字节 invalid_escape_octet 22025 非法逃逸序列 invalid_escape_sequence 22P06 非标准使用逃逸字符 nonstandard_use_of_escape_character 22010 非法指示器参数值 invalid_indicator_parameter_value 22023 非法参数值 invalid_parameter_value 2201B 非法正则表达式 invalid_regular_expression 2201W 无效的行数限制 invalid_row_count_in_limit_clause 2201X 在结果抵消子句中无效的行数 invalid_row_count_in_result_offset_clause 22009 非法时区显示值 invalid_time_zone_displacement_value 2200C 逃逸字符的非法使用 invalid_use_of_escape_character 2200G 最相关类型不匹配 most_specific_type_mismatch 22004 不允许 NULL 值 null_value_not_allowed 22002 NULL 值不能做指示器参数 null_value_no_indicator_parameter 22003 数字值超出范围 numeric_value_out_of_range 22026 字符串数据长度不匹配 string_data_length_mismatch 22001 字符串数据右边被截断 string_data_right_truncation 22011 抽取子字符串错误 substring_error 22027 截断错误 trim_error 22024 未结束的 C 字符串 unterminated_c_string 2200F 零长度的字符串 zero_length_character_string 22P01 浮点异常 floating_point_exception 22P02 非法文本表现形式 invalid_text_representation 22P03 非法二进制表现形式 invalid_binary_representation 22P04 错误的COPY文件格式 bad_copy_file_format 22P05 不可翻译字符 untranslatable_character 2200L 不是一个XML文档 not_an_xml_document 2200M 无效的XML文档 invalid_xml_document 2200N 无效的XML内容 invalid_xml_content 2200S 无效的XML评论 invalid_xml_comment 2200T 无效的XML处理指令 invalid_xml_processing_instruction Class 23 — 违反完整性约束 23000 违反完整性约束 integrity_constraint_violation 23001 约束限制 restrict_violation 23502 NOT NULL VIOLATION违反非空 not_null_violation 23503 违反外键约束 foreign_key_violation 23505 违反唯一约束 unique_violation 23514 违反检查 check_violation 23P01 违反排除 exclusion_violation Class 24 — 非法游标状态 24000 非法游标状态 invalid_cursor_state Class 25 — 非法事务状态 25000 非法事务状态 invalid_transaction_state 25001 活跃的SQL状态 active_sql_transaction 25002 分支事务已经激活 branch_transaction_already_active 25008 持有的指针要求同样的隔离级别 held_cursor_requires_same_isolation_level 25003 对分支事务的不恰当的访问方式 inappropriate_access_mode_for_branch_transaction 25004 对分支事务的不恰当的隔离级别 inappropriate_isolation_level_for_branch_transaction 25005 分支事务没有活跃的SQL事务 no_active_sql_transaction_for_branch_transaction 25006 只读的SQL事务 read_only_sql_transaction 25007 不支持混和的模式和数据语句 schema_and_data_statement_mixing_not_supported 25P01 没有活跃的SQL事务 no_active_sql_transaction 25P02 在失败的SQL事务中 in_failed_sql_transaction Class 26 — 非法SQL语句名 26000 非法SQL语句名 invalid_sql_statement_name Class 27 — 触发数据更改违规 27000 触发数据更改违规 triggered_data_change_violation Class 28 — 非法授权声明 28000 非法授权声明 invalid_authorization_specification 28P01 非法密码 invalid_password Class 2B — 依然存在依赖的优先级描述符 2B000 依然存在依赖的优先级描述符 dependent_privilege_descriptors_still_exist 2BP01 依赖性对象仍然存在 dependent_objects_still_exist Class 2D — 非法的事务终止 2D000 非法的事务终止 invalid_transaction_termination Class 2F — SQL过程异常 2F000 SQL过程异常 sql_routine_exception 2F005 执行的函数没有返回语句 function_executed_no_return_statement 2F002 不允许修改SQL数据 modifying_sql_data_not_permitted 2F003 企图使用禁止的SQL语句 prohibited_sql_statement_attempted 2F004 不允许读取SQL数据 reading_sql_data_not_permitted Class 34 — 非法指针名 34000 非法指针名 invalid_cursor_name Class 38 — 外部过程异常 38000 外部过程异常 external_routine_exception 38001 不允许包含的SQL containing_sql_not_permitted 38002 不允许修改SQL数据 modifying_sql_data_not_permitted 38003 企图使用禁止的SQL语句 prohibited_sql_statement_attempted 38004 不允许读取SQL数据 reading_sql_data_not_permitted Class 39 — 外部过程调用异常 39000 外部过程调用异常 external_routine_invocation_exception 39001 返回了非法的SQL状态 invalid_sqlstate_returned 39004 不允许使用NULL null_value_not_allowed 39P01 违反触发器协议 trigger_protocol_violated 39P02 违反 SRF 协议 srf_protocol_violated Class 3B — 保存点异常 3B000 保存点异常 savepoint_exception 3B001 无效的保存点声明 invalid_savepoint_specification Class 3D — 非法目录名 3D000 非法目录名 invalid_catalog_name Class 3F — 非法模式名 3F000 非法模式名 invalid_schema_name Class 40 — 事务回滚 40000 事务回滚 transaction_rollback 40002 违反事务完整性约束 transaction_integrity_constraint_violation 40001 串行化失败 serialization_failure 40003 不知道语句是否结束 statement_completion_unknown 40P01 侦测到死锁 deadlock_detected Class 42 — 语法错误或者违反访问规则 42000 语法错误或者违反访问规则 syntax_error_or_access_rule_violation 42601 语法错误 syntax_error 42501 权限不够 insufficient_privilege 42846 无法进行类型转换 cannot_coerce 42803 分组错误 grouping_error 42P20 开窗口错误 windowing_error 42P19 非法递归 invalid_recursion 42830 非法的外键 invalid_foreign_key 42602 非法名称 invalid_name 42622 名称过长 name_too_long 42939 保留名称 reserved_name 42804 数据类型不匹配 datatype_mismatch 42P18 模糊数据类型 indeterminate_datatype 42809 错误的对象类型 wrong_object_type 42703 未定义的字段 undefined_column 42883 未定义的函数 undefined_function 42P01 未定义的表 undefined_table 42P02 未定义的参数 undefined_parameter 42704 未定义对象 undefined_object 42701 重复的字段 duplicate_column 42P03 重复的游标 duplicate_cursor 42P04 重复的数据库 duplicate_database 42723 重复的函数 duplicate_function 42P05 重复的预备语句 duplicate_prepared_statement 42P06 重复的模式 duplicate_schema 42P07 重复的表 duplicate_table 42712 重复的别名 duplicate_alias 42710 重复的对象 duplicate_object 42702 模糊的字段 ambiguous_column 42725 模糊的函数 ambiguous_function 42P08 模糊的参数 ambiguous_parameter 42P09 模糊的别名 ambiguous_alias 42P10 非法字段引用 invalid_column_reference 42611 非法字段定义 invalid_column_definition 42P11 非法游标定义 invalid_cursor_definition 42P12 非法数据库定义 invalid_database_definition 42P13 非法函数定义 invalid_function_definition 42P14 非法预备语句定义 invalid_prepared_statement_definition 42P15 非法模式定义 invalid_schema_definition 42P16 非法表定义 invalid_table_definition 42P17 非法对象定义 invalid_object_definition Class 44 — 违反 WITH CHECK 选项 44000 违反 WITH CHECK 选项 with_check_option_violation

picturesque ; tragedy ; courageous 这英语在美式英语中怎么读,求谐音~

Picturesque [ u02ccpikCHu0259u02c8resk]【谐音:陪车热瑟克】意思:如画(一般形容景色)Tragedy [ u02c8traju0259dē] 【谐音:车这迪】意思:悲剧;例:the four great tragedy 四大悲剧Courageous [ku0259u02c8rāju0259s] 【谐音:口瑞泽斯】意思:英勇的,勇敢的

Paul Michael LeVesque 的中文意思是什么啊!!

选手名:Triple H 真实姓名:Paul Michael LeVesque 出生日期:1969年7月27日 家乡:新汉普郡州Nashua市,曾居住于康涅狄格州格林威治市,现居住于纽约市。 婚姻状况:曾与Chyna交往,现与Stephanie McMahon结婚,并育有一女。 身高:193CM(6英尺4英寸) 体重:122kg(270磅) 教练:Killer Kowalski 首次登台:1992年3月 曾用角色名: Hunter Hearst Helmsley (WWF) Terra Ryzin (WCW) Jean Paul LeVesque (WCW) 终结技:The Pedigree 常用技: Inverted Indian Deathlock Knee to Face Running neckbreaker Running Knee Smash DDT Spinning Spinebuster Sleeper Hold Abdominal Stretch Knee Drop Figure Four Leg Lock Mounted Punches Hooking Clothesline Blatant Choke 曾获荣誉: IWF重量级冠军,战胜了Tony Roy WWF洲际冠军 WWFKing of the Ring(擂台之王)1997年6月 WWF欧洲冠军,1997年12月22日战胜了Shawn Michaels WWF欧洲冠军,1998年3月17日的RAW战胜了Owen Hart WWF洲际冠军,1998年8月30日的PPV-Summerslam上战胜了The Rock WWF重量级冠军,1999年8月23日RAW上战胜了Mankind (August 23,1999 - RAW) WWF重量级冠军,1999年9月26日Unforgiven上赢得了6人冠军战的胜利 WWF重量级冠军,2000年1月3日RAW上战胜了Big Show WWF重量级冠军,2000年5月21日Judgment Day上战胜了The Rock WWF洲际冠军,2001年4月5日的Smackdown!上战胜了Chris Jericho WWF洲际冠军,2001年4月16日的RAW上战胜了Jeff Hardy WWE双打冠军,2001年4月30日与Steve Austin组队战胜了Undertaker & Kane WWE皇家大战冠军,2002年1月 WWF毋庸置疑冠军,2002年3月17日PPV-Wrestlemania X-8上战胜了Chris Jericho WWE世界重量级冠军,2002年9月RAW,GM Eric Bischoff赠与 WWE世界重量级冠军,2002年12月15日Armageddon战胜了Shawn Michaels WWE世界重量级冠军,2003年12月14日Armageddon战胜了Bill Goldberg & Kane(三重威胁赛) WWE世界重量级冠军,2004年9月12日Unforgiven战胜了Randy Orton WWE世界重量级冠军,2005年1月9日New Year s Revolution上的Elimination Chamber(铁笼密室赛)中战胜了Batista & Orton & Benoit & Jericho & Edge WWE重量级冠军(RAW)在2007年10月7日的PPV-No Mercy开始时挑战被授予WWE冠军的Randy Orton成功,但在当天晚些时候再次输给了Randy Orton WWE重量级冠军(RAW)在2008年4月27日的PPV-Backlash在一场四人淘汰赛中最后战胜了Randy Orton 双打拍档: Steve Austin Shawn Michaels 长期对手: Tony Roy (Indy) Alex Wright (WCW) Henry Godwin Mankind XPac Roaddog Nation of Domination Vince McMahon The Undertaker The Rock Test Jeff Hardy Kurt Angle Stone Cold Chris Jericho Chris Benoit Stephanie McMahon Rob Van Dam Bubba Dudley Kane Scott Stiener Booker T Kevin Nash Bill Goldberg Shawn Michaels Chris Benoit Randy Orton Batista Ric Flair The Big Show John Cena Edge

如何向postgresql数据库里导入其它类型的数据?

是不是如何将mssql的数据导入到acc中如果是的话给你,如果不是当我没说,因为不知道postgresql是什么SQLSERVER和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQLServer,你可以使用这些步骤:1在SQLSERVER企业管理器中的Tools(工具)菜单上,选择DataTransformation2Services(数据转换服务),然后选择czdImportData(导入数据)。3在ChooseaDataSource(选择数据源)对话框中选择MicrosoftAccessastheSource,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。4在ChooseaDestination(选择目标)对话框中,选择MicrosoftOLEDBProviderforSQLServer,选择数据库服务器,然后单击必要的验证方式。5在SpecifyTableCopy(指定表格复制)或Query(查询)对话框中,单击Copytables(复制表格)。6在SelectSourceTables(选择源表格)对话框中,单击SelectAll(全部选定)。下一步,完成。Transact-SQL语句进行导入导出:1.在SQLSERVER里查询access数据:SELECT*FROMOpenDataSource("Microsoft.Jet.OLEDB.4.0","DataSource="c:DB.mdb";UserID=Admin;Password=")...表名2.将access导入SQLserver在SQLSERVER里运行:SELECT*INTOnewtableFROMOPENDATASOURCE("Microsoft.Jet.OLEDB.4.0","DataSource="c:DB.mdb";UserID=Admin;Password=")...表名3.将SQLSERVER表里的数据插入到Access表中在SQLSERVER里运行:insertintoOpenDataSource("Microsoft.Jet.OLEDB.4.0","DataSource="c:DB.mdb";UserID=Admin;Password=")...表名(列名1,列名2)select列名1,列名2fromsql表实例:insertintoOPENROWSET("Microsoft.Jet.OLEDB.4.0","C:db.mdb";"admin";"",Test)selectid,namefromTestINSERTINTOOPENROWSET("Microsoft.Jet.OLEDB.4.0","c: rade.mdb";"admin";"",表名)SELECT*FROMsqltablename

Show Me How You Burlesque 歌词

歌曲名:Show Me How You Burlesque歌手:Christina Aguilera专辑:BurlesqueUnderneath the city lightsThere is a world few know aboutWhere rules don"t apply, noAnd you can"t keep a good girl downChristina Aguilera- - - Show Me How You Burlesque - - -She going through the club looking for a good timeGonna make that,shake that,money on the dimeDon"t need a sugga daddyShe"ll be working it just fineUp on the tableShe"ll be dancing all night (hee-eey)Heyey HeyBabydoll just come aliveUnder the spotlightAll the girls wanna fall in lineWe sayHe-eh-eh-heyHere come the ladies "bout to give a little showHe-eh-eh-heyHere comes the boozie gonna show a little moremore-more-moreHit it up, get it upWont let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesqueHit it up, get it upWon"t let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesqueA little bit of naughty is a little bit niceShe"s a whole lot of glam, take sugar, take spiceShimmy, shimmy, strut, strutGive a little work, what up on the tableWe"ll be dancing all nightHeyey HeyEverybody just come to lifeUnder the spotlightAll the boys wanna fall behindWe sayHe-eh-eh-heyHere come the ladies "bout to give a little showHe-eh-eh-heyHere comes the boozie gonna show a little moreHit it up, get it upWon"t let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesqueHit it up, get it upWon"t let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesqueOk girls, let"s show how it"s doneIt ain"t over till we sayAnd we"ve only just beganLet me hear you sayYeah, yeah, yeahSay yeaah, yeah yeah yeahSay yeah yeah yeaahSay yeaah yeah yeahHit it up, get it upWon"t let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesqueHit it up, get it upWon"t let you restHit it up, get it upThis is not a testHit it up, get it upGotta give me your bestSo get your ass upShow me how you burlesquehttp://music.baidu.com/song/20742031

postgresql 高可用集群搭建资料

多种方案,含zookeeper方案 : PostgreSQL 流行 HA 方案 有实例 有讲解! postgresql 高可用集群搭建 : PostgreSQL_HA_with_primary_standby_2vip pgpool+Keepalived 实现postgresql 高可用集群: PostgreSQL+pgpooll+Keepalived双机HA方案 利用pgpool 实现postgresql 高可用集群 : POSTGRESQL主备部署模式 看起来不错 : 双机热备技术:使用pgpool搭建高可用PostgreSQL HA的步骤 PostgreSQL 流复制 + Pgpool-II 实现高可用 HA 推荐使用pgpool原因: PostgreSQL的集群技术比较 很好的要看corosync+pacemaker: 基于Pacemaker的PostgreSQL一主多从读负载均衡集群搭 可能复杂 : Pacemaker+corosync搭建PostgreSQL共享存储HA corosync+pacemaker 有实例 : postgresql双机热备、高可用方案(采用pacemaker+corosync实现) 需求讲得好 : PostgresSQL HA高可用架构实战 PostgresSQL HA高可用架构实战 流复制HA(pgpool) :较简单、易实现 共享存储HA(corosync+pacemaker):功能完备、学习成本高、复杂
 1 2 3  下一页  尾页