Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dp9Dx-0002xG-1b for pgsql-zh-general@arkaria.postgresql.org; Tue, 05 Sep 2017 08:28:45 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dp9Dw-0003DP-Fq for pgsql-zh-general@arkaria.postgresql.org; Tue, 05 Sep 2017 08:28:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dp9Dw-0003DF-5K for pgsql-zh-general@postgresql.org; Tue, 05 Sep 2017 08:28:44 +0000 Received: from m97135.mail.qiye.163.com ([220.181.97.135]) by magus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dp9Df-00047n-PX for pgsql-zh-general@postgresql.org; Tue, 05 Sep 2017 08:28:42 +0000 Received: from [192.168.0.165] (unknown [124.127.160.226]) by smtp1 (Coremail) with SMTP id h+CowADX508iYK5ZLDMXCQ--.3718S2; Tue, 05 Sep 2017 16:28:19 +0800 (CST) To: "pgsql-zh-general@postgresql.org" From: Quan Zongliang Subject: =?UTF-8?B?6ZqP5py65a2X56ym5Liy5Ye95pWw55qEQ+ivreiogOWunueOsA==?= Message-ID: Date: Tue, 5 Sep 2017 16:28:18 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-CM-TRANSID: h+CowADX508iYK5ZLDMXCQ--.3718S2 X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxU4znmDUUUU X-Originating-IP: [124.127.160.226] X-CM-SenderInfo: p2rqwzpldqwhhtxd0qxsrv3wxuhvvt1wdou0bp/1tbiZQVKGli2jJh-7gAAsb List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-zh-general Precedence: bulk Sender: pgsql-zh-general-owner@postgresql.org 各位下午好 邮件列表沉寂太久,激活一下大家的情绪。 分享一个C语言实现的随机字符串函数: PG_FUNCTION_INFO_V1(random_string); Datum random_string(PG_FUNCTION_ARGS) { int32 length = PG_GETARG_INT32(0); int32 i; const char chars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; char *result; if (length < 0) PG_RETURN_NULL(); if (length == 0) PG_RETURN_TEXT_P(cstring_to_text("")); result = palloc(length + 1); if (result == NULL) ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of memory"))); for (i=0; i