Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKa2p-0006bp-Lk for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2020 04:04:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jKa2m-0001Z1-Ne for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2020 04:04:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKa2m-0001Yu-C1 for pgsql-hackers@lists.postgresql.org; Sat, 04 Apr 2020 04:04:28 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jKa2j-0001eb-2u for pgsql-hackers@postgresql.org; Sat, 04 Apr 2020 04:04:26 +0000 Received: by mail-wr1-x441.google.com with SMTP id j17so10772479wru.13 for ; Fri, 03 Apr 2020 21:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=EpydZzW5FxS7T8pHjTdT11A7aPN0ly5etdG5O9XLCvs=; b=RgdFVFX7FeoenvqtzhS6vQBXKPjJd6xwDR8FoFiPCnHaGNPXl5SmT71unSNYpMptRx kbZwQRqz/kvfKVvQLf7Kj/vkxLfPEd3l8DE31GYBsm4xNFAEUsI6zSIZu1fXT6YCA9Kv 5kZUFb6I7a6LE8sO9e3StwpynqI+t7UmR8oLR/OhYUx8O+zliuCmUF5TxQf3zFh7R10r TMwHeL/0n/fstYShHQXISF831CUgahB0PJKJYQB2GxzQkCKt4lQHrvg0bIFy8yp2MUlf Y0bmiTh9JiJQDSeKMajKSXCklKZz2Rj4eRzc5V9pHhl2LFdulR2NGN8wP91y9On1asen +rSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=EpydZzW5FxS7T8pHjTdT11A7aPN0ly5etdG5O9XLCvs=; b=LBrQES2D8XotfwBYOfxWO2VyeMvVLJY0mREMmH+2jssjV7jRrUqXQo0UXibRk9LXFg vg2nytCAs+XpsXeDiYlV3pFX40WKkZmQcZbYS+ozW0IwigJ5Tpaj5PB/Nkimg/AhFRcs NNfOd4jbOsWSGkRbJDW7aJwGpXPtyUwXEvc/cP6xpl9XxpEHxK63OaUzBPSrRjW2lHzc ajgeA7+oXsnZLwBSrHLkYW26+qKlqL/Q75kdHhmWwKAppvaXN+VBVWWVZO2G++bID4UJ 6ZAzcVJ2tF2zmJVvwvtqgu06n7tGj/GTzCCvXcu1GNFe/fICKsahzwCy/lwRRCM81eYI k0wA== X-Gm-Message-State: AGi0PubRzsVPAKOky4NdKUT4C285QI3HQr3zHNr+CrmXCx6xJ/E+tNfK p5/M5F6CKD/HMgH4M3MsnkcxOg== X-Google-Smtp-Source: APiQypLDp1/W5k9uklVmPfUk+0AaQEUFuHFQJBQieKpXnsK/mowA8NJ01EUkGcoE7PqFOMzKwVHKPQ== X-Received: by 2002:adf:c3d0:: with SMTP id d16mr3824067wrg.180.1585973062639; Fri, 03 Apr 2020 21:04:22 -0700 (PDT) Received: from dynamic-eo91w4szte90anmhb-pd01.res.v6.highway.a1.net (dynamic-eo91w4szte90anmhb-pd01.res.v6.highway.a1.net. [2001:871:60:99ae:90f9:9c83:81f9:2b8f]) by smtp.gmail.com with ESMTPSA id v11sm11611416wro.97.2020.04.03.21.04.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 21:04:21 -0700 (PDT) Message-ID: <686e65ba48801791816771e993ff5eebe571fac9.camel@cybertec.at> Subject: Re: Add A Glossary From: Laurenz Albe To: Justin Pryzby , Alvaro Herrera Cc: Erik Rijkers , Corey Huinker , =?ISO-8859-1?Q?J=FCrgen?= Purtz , Roger Harkavy , pgsql-hackers@postgresql.org, Fabien COELHO , Michael Paquier Date: Sat, 04 Apr 2020 06:04:19 +0200 In-Reply-To: <20200403210120.GA12283@telsasoft.com> References: <7b9b469e804777ac9df4d37716db935e@xs4all.nl> <20200403205143.GA7961@alvherre.pgsql> <20200403210120.GA12283@telsasoft.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.32.5 (3.32.5-1.fc30) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Fri, 2020-04-03 at 16:01 -0500, Justin Pryzby wrote: > BTW it's now visible at: > https://www.postgresql.org/docs/devel/glossary.html Great! Some comments: - SQL object: There are more kinds of objects, like roles or full text dictionaries. Perhaps better: Anything that is created with a CREATE statement, for example ... Most objects belong to a database schema, except ... Or do we consider a replication slot to be an object? - The glossary has "Primary (server)", but not "Standby (server)". That should be a synonym for "Replica". - Server: is that really our definition? I thought that "server" is what the glossary defines as "instance", and the thing called "server" in the glossary should really be called "host". Maybe I am too Unix-centered. Many people I know use "instance" synonymous to "cluster". - Role: I understand the motivation behind the definition (except that the word "instance" is ill chosen), but a role is more than a collection of privileges. How can a collection of privileges have a password or own an object? Perhaps, instead of the first sentence: A database object used for authentication, authorization and ownership. Both database users and user groups are "roles" in PostgreSQL. In the second sentence, "roles" is mis-spelled as "roless". - Null I think it should say "It represents the absence of *a definite* value." Usually it is better to think of NULL as "unknown". - Function I don't know if "transformation of data" describes it well. Quite a lot of functions in PostgreSQL have side effects. How about: Procedural code stored in the database that can be used in SQL statements. Yours, Laurenz Albe