Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u72Lt-009MBN-CH for pgsql-general@arkaria.postgresql.org; Tue, 22 Apr 2025 01:23:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u72Lp-009vZw-MN for pgsql-general@arkaria.postgresql.org; Tue, 22 Apr 2025 01:23:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u72Lp-009vYn-9O for pgsql-general@lists.postgresql.org; Tue, 22 Apr 2025 01:23:06 +0000 Received: from mail-il1-x144.google.com ([2607:f8b0:4864:20::144]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u72Lm-001Jzc-2A for pgsql-general@lists.postgresql.org; Tue, 22 Apr 2025 01:23:05 +0000 Received: by mail-il1-x144.google.com with SMTP id e9e14a558f8ab-3d818add2a3so12823215ab.1 for ; Mon, 21 Apr 2025 18:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745284981; x=1745889781; darn=lists.postgresql.org; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FpE5+27HzneQYZROmHw2ZXCn5c58zP1O7scTvmJxf2I=; b=ccF3Hs6z+UZcwvyBKF7mJEu32qu4pKtgzk+dt0CjyGZbMi594oLI+gTSmuRhN/69be ZFESSNCGq1jX4j4+lwp4qUBIHIFKfHfTSP571u808vvJdmhA6ACbe895A7VsI1FiHADe UkrtDUF5XrG0uj7dkAC4gB50FnSyP8JANmTrekgbAOhvZJPA5AjYZwOgsgWe8ooro66r HEIyQowe/+Z7yfC1SA1Jk5Wmlz3OQVjLe2/N3ZkRvraDKv2eFjVwDqB6ce5ZGIW66aZ5 IFz/duWstL9XQMbzfFS6Y2PlcHgdsfo5yyNe8xIOdQXb8DJQLHdHBPsO0qVMtxxsTKdp QhxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745284981; x=1745889781; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FpE5+27HzneQYZROmHw2ZXCn5c58zP1O7scTvmJxf2I=; b=dTMUuU4r6XaILF78SsamBguq5ADnkct72RJ7ZtSiMHOUjHQ+XetZ36zY66pl2Z9O3e fE6YjM/iZppZcxE0GXNJ7iXDYXPJN9dbZaHWiTH5gqgSSisimQ+H6MzZ0puAArxy/u8P HxMz8MOvBDW2CKlF2lalsWNUjn94gUQYqB1+QlR4aMNWtC8L3fw+mjDKNRjwYgWTAqTX el0HQlYUdPPXLUjRhUDTEa6Tugcfr289WP3RdaGuZPANrkM7xf6IJAMcSb+0uTrU2WET mKnXuqkXMcyeob/3pKrubvxwLZ6tifKScKgmAWJim5cvxKiizBQpdJ+Mi9R7ipnUFCz2 whOQ== X-Gm-Message-State: AOJu0Ywk1+T94lyKE4pjKLbPTuvQ05ABWEtr/+SJlo+uMkDwAb3Ccq58 Qce/UG1zFqcDAFgG0axDNUdhx0dKDgUMjZw/nmpJUvF0pLBhQkRS4ajTttQAaiOzQzjlXU0K2v7 RFbB6cMHn19ll3SdKfsqBpKXguWDNxz2FGEk= X-Gm-Gg: ASbGnct7qQZnUE/m9o2N60wR0psMkWz8Qcj939ylW6elW3D/f+4X/DiHgsnlkfWxlvc wqJin0H/Ww9mjDQ3trQ1jvDsN1jaVWlFjK37j1fhPAzfX21nCyqiQekFF7s+FvWkl32D5ErU1CN gydpSZtKB6s1ExqlVX4FDtkro= X-Google-Smtp-Source: AGHT+IFXywaeeBs2Sp3659WYcOhnMCx0wqgEgfXCpbxwx2xbB2zIYlvsqrrIbDWI6KpTyAdw3I8UxKMQmrqiJZLS704= X-Received: by 2002:a05:6e02:df4:b0:3d2:af0b:6e2a with SMTP id e9e14a558f8ab-3d821d40fa6mr101722775ab.5.1745284981536; Mon, 21 Apr 2025 18:23:01 -0700 (PDT) MIME-Version: 1.0 From: Marcelo Fernandes Date: Tue, 22 Apr 2025 13:22:50 +1200 X-Gm-Features: ATxdqUGnarWL4AoIoOkOOdNtGb3BxeDjDFDa9zbh8tLLyY0psGukKjCLsmwHD_8 Message-ID: Subject: pg_get_serial_sequence not working for manually set seq To: pgsql-general@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi folks, I've been testing the pg_get_serial_sequence function and noticed that I ca= n only get reliable results when using a SERIAL or IDENTITY column. However, shouldn't it work for manually set sequences too? In the docs[0] we have that this function: > Returns the name of the sequence associated with a column, or NULL if no > sequence is associated with the column But according to my test below, that does not hold for manually set sequenc= es on a column. Is this expected behaviour? Test: -- Identity column =E2=9C=93 DROP TABLE IF EXISTS foo CASCADE; CREATE TABLE foo (id INT GENERATED ALWAYS AS IDENTITY); SELECT pg_get_serial_sequence('foo', 'id'); -- pg_get_serial_sequence -- ------------------------ -- public.foo_id_seq -- Test with a serial column =E2=9C=93 DROP TABLE IF EXISTS bar CASCADE; CREATE TABLE bar (id SERIAL); SELECT pg_get_serial_sequence('bar', 'id'); -- pg_get_serial_sequence -- ------------------------ -- public.bar_id_seq -- Manually set seq =E2=9C=97 DROP TABLE IF EXISTS buzz CASCADE; CREATE SEQUENCE seq; CREATE TABLE buzz (id INTEGER); ALTER TABLE buzz ALTER COLUMN id SET DEFAULT nextval('seq'); SELECT pg_get_serial_sequence('buzz', 'id'); -- No results -- pg_get_serial_sequence ------------------------ [0] https://www.postgresql.org/docs/current/functions-info.html